summaryrefslogtreecommitdiff
path: root/keyboards/handwired
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired')
-rw-r--r--keyboards/handwired/108key_trackpoint/rules.mk5
-rw-r--r--keyboards/handwired/2x5keypad/rules.mk7
-rw-r--r--keyboards/handwired/3dfoxc/3dfoxc.c (renamed from keyboards/handwired/owlet60/keymaps/default/config.h)6
-rw-r--r--keyboards/handwired/3dfoxc/3dfoxc.h38
-rw-r--r--keyboards/handwired/3dfoxc/config.h45
-rw-r--r--keyboards/handwired/3dfoxc/info.json364
-rw-r--r--keyboards/handwired/3dfoxc/keymaps/default/keymap.c69
-rw-r--r--keyboards/handwired/3dfoxc/keymaps/default/readme.md3
-rw-r--r--keyboards/handwired/3dfoxc/keymaps/dlg/config.h (renamed from keyboards/handwired/co60/keymaps/all_keys/config.h)5
-rw-r--r--keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c112
-rwxr-xr-xkeyboards/handwired/3dfoxc/keymaps/dlg/readme.md73
-rw-r--r--keyboards/handwired/3dfoxc/readme.md42
-rw-r--r--keyboards/handwired/3dfoxc/rules.mk18
-rw-r--r--keyboards/handwired/3dortho14u/keymaps/default/keymap.c27
-rw-r--r--keyboards/handwired/3dortho14u/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/3dortho14u/keymaps/via/keymap.c35
-rw-r--r--keyboards/handwired/3dortho14u/keymaps/via/rules.mk4
-rw-r--r--keyboards/handwired/3dortho14u/readme.md40
-rw-r--r--keyboards/handwired/3dortho14u/rev1/config.h6
-rw-r--r--keyboards/handwired/3dortho14u/rev1/info.json115
-rw-r--r--keyboards/handwired/3dortho14u/rev1/readme.md39
-rw-r--r--keyboards/handwired/3dortho14u/rev1/rev1.c4
-rw-r--r--keyboards/handwired/3dortho14u/rev1/rev1.h6
-rw-r--r--keyboards/handwired/3dortho14u/rev1/rules.mk1
-rw-r--r--keyboards/handwired/3dortho14u/rev2/config.h6
-rw-r--r--keyboards/handwired/3dortho14u/rev2/info.json115
-rw-r--r--keyboards/handwired/3dortho14u/rev2/readme.md39
-rw-r--r--keyboards/handwired/3dortho14u/rev2/rev2.c4
-rw-r--r--keyboards/handwired/3dortho14u/rev2/rev2.h6
-rw-r--r--keyboards/handwired/3dortho14u/rev2/rules.mk1
-rw-r--r--keyboards/handwired/3dp660/rules.mk5
-rw-r--r--keyboards/handwired/412_64/keymaps/default/config.h5
-rw-r--r--keyboards/handwired/412_64/rules.mk5
-rw-r--r--keyboards/handwired/42/rules.mk5
-rw-r--r--keyboards/handwired/6key/rules.mk5
-rw-r--r--keyboards/handwired/6macro/keymaps/default/keymap.c12
-rw-r--r--keyboards/handwired/6macro/rules.mk5
-rw-r--r--keyboards/handwired/aball/aball.c (renamed from keyboards/handwired/sticc14/keymaps/default/config.h)6
-rw-r--r--keyboards/handwired/aball/aball.h21
-rw-r--r--keyboards/handwired/aball/config.h36
-rw-r--r--keyboards/handwired/aball/info.json12
-rw-r--r--keyboards/handwired/aball/keymaps/default/keymap.c19
-rw-r--r--keyboards/handwired/aball/readme.md14
-rw-r--r--keyboards/handwired/aball/rules.mk22
-rw-r--r--keyboards/handwired/aek64/rules.mk6
-rw-r--r--keyboards/handwired/aim65/rules.mk5
-rw-r--r--keyboards/handwired/amigopunk/rules.mk5
-rw-r--r--keyboards/handwired/angel/rules.mk5
-rw-r--r--keyboards/handwired/aplx2/rules.mk5
-rw-r--r--keyboards/handwired/aranck/rules.mk5
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/default/keymap.c36
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c36
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk5
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c36
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk5
-rw-r--r--keyboards/handwired/arrow_pad/rules.mk5
-rw-r--r--keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c40
-rw-r--r--keyboards/handwired/atreus50/keymaps/ajp10304/readme.md22
-rw-r--r--keyboards/handwired/atreus50/keymaps/default/keymap.c10
-rw-r--r--keyboards/handwired/atreus50/rules.mk8
-rw-r--r--keyboards/handwired/axon/rules.mk5
-rw-r--r--keyboards/handwired/baredev/rev1/config.h25
-rw-r--r--keyboards/handwired/baredev/rev1/info.json706
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/default/keymap.c56
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/default/readme.md7
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c99
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md16
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/via/keymap.c88
-rw-r--r--keyboards/handwired/baredev/rev1/keymaps/via/rules.mk4
-rw-r--r--keyboards/handwired/baredev/rev1/readme.md29
-rw-r--r--keyboards/handwired/baredev/rev1/rev1.c (renamed from keyboards/handwired/slash/keymaps/default/config.h)6
-rw-r--r--keyboards/handwired/baredev/rev1/rev1.h (renamed from keyboards/handwired/fruity60/keymaps/default/config.h)4
-rw-r--r--keyboards/handwired/baredev/rev1/rules.mk0
-rw-r--r--keyboards/handwired/battleship_gamepad/rules.mk5
-rw-r--r--keyboards/handwired/bdn9_ble/rules.mk5
-rw-r--r--keyboards/handwired/bento/rev1/rules.mk5
-rw-r--r--keyboards/handwired/bigmac/rules.mk5
-rw-r--r--keyboards/handwired/bolek/rules.mk5
-rw-r--r--keyboards/handwired/boss566y/redragon_vara/rules.mk5
-rw-r--r--keyboards/handwired/brain/rules.mk4
-rw-r--r--keyboards/handwired/bstk100/bstk100.c18
-rw-r--r--keyboards/handwired/bstk100/bstk100.h43
-rw-r--r--keyboards/handwired/bstk100/config.h156
-rw-r--r--keyboards/handwired/bstk100/info.json36
-rw-r--r--keyboards/handwired/bstk100/keymaps/default/keymap.c53
-rw-r--r--keyboards/handwired/bstk100/keymaps/default/readme.md26
-rw-r--r--keyboards/handwired/bstk100/keymaps/via/keymap.c53
-rw-r--r--keyboards/handwired/bstk100/keymaps/via/readme.md26
-rw-r--r--keyboards/handwired/bstk100/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/bstk100/readme.md35
-rw-r--r--keyboards/handwired/bstk100/rules.mk18
-rw-r--r--keyboards/handwired/cans12er/rules.mk7
-rw-r--r--keyboards/handwired/carpolly/carpolly.c20
-rw-r--r--keyboards/handwired/carpolly/carpolly.h36
-rw-r--r--keyboards/handwired/carpolly/config.h49
-rw-r--r--keyboards/handwired/carpolly/info.json55
-rw-r--r--keyboards/handwired/carpolly/keymaps/default/keymap.c53
-rw-r--r--keyboards/handwired/carpolly/readme.md30
-rw-r--r--keyboards/handwired/carpolly/rules.mk22
-rw-r--r--keyboards/handwired/chiron/rules.mk2
-rw-r--r--keyboards/handwired/ck4x4/keymaps/default/keymap.c8
-rw-r--r--keyboards/handwired/ck4x4/rules.mk7
-rw-r--r--keyboards/handwired/cmd60/keymaps/default/keymap.c60
-rw-r--r--keyboards/handwired/cmd60/rules.mk5
-rw-r--r--keyboards/handwired/co60/rev1/rules.mk5
-rw-r--r--keyboards/handwired/co60/rev6/rules.mk4
-rw-r--r--keyboards/handwired/co60/rev7/rules.mk4
-rw-r--r--keyboards/handwired/colorlice/rules.mk5
-rw-r--r--keyboards/handwired/concertina/64key/rules.mk5
-rw-r--r--keyboards/handwired/consolekeyboard/18key/rules.mk5
-rw-r--r--keyboards/handwired/consolekeyboard/20key/rules.mk5
-rw-r--r--keyboards/handwired/consolekeyboard/27key/rules.mk5
-rw-r--r--keyboards/handwired/consolekeyboard/30key/rules.mk5
-rw-r--r--keyboards/handwired/croxsplit44/config.h53
-rw-r--r--keyboards/handwired/croxsplit44/croxsplit44.c (renamed from keyboards/handwired/hnah40/keymaps/default/config.h)7
-rw-r--r--keyboards/handwired/croxsplit44/croxsplit44.h32
-rw-r--r--keyboards/handwired/croxsplit44/info.json55
-rw-r--r--keyboards/handwired/croxsplit44/keymaps/default/keymap.c31
-rw-r--r--keyboards/handwired/croxsplit44/keymaps/via/keymap.c43
-rw-r--r--keyboards/handwired/croxsplit44/keymaps/via/rules.mk2
-rw-r--r--keyboards/handwired/croxsplit44/readme.md23
-rw-r--r--keyboards/handwired/croxsplit44/rules.mk21
-rw-r--r--keyboards/handwired/curiosity/rules.mk5
-rw-r--r--keyboards/handwired/d48/keymaps/default/keymap.c34
-rw-r--r--keyboards/handwired/d48/rules.mk3
-rw-r--r--keyboards/handwired/dactyl/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_left/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md8
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h60
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c64
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk10
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md8
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h47
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c64
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk9
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.c1
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h26
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/config.h41
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/info.json72
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/config.h24
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c63
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h24
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/rules.mk19
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md8
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h47
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c70
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk10
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h11
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c170
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk1
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h14
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c190
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/rules.mk5
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/6x6.h29
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h22
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h54
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h24
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h22
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk30
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/config.h18
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/info.json95
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c13
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c51
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c59
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/promicro/config.h29
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk8
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/readme.md63
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/rules.mk13
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c5
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h37
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/config.h40
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/info.json108
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c52
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/rules.mk19
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c5
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h37
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h40
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json108
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c52
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md85
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk19
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/6x7.c4
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/6x7.h35
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/config.h40
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/info.json114
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c50
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/rules.mk19
-rw-r--r--keyboards/handwired/dactyl_manuform/dactyl_manuform.h8
-rw-r--r--keyboards/handwired/dactyl_manuform/readme.md7
-rw-r--r--keyboards/handwired/dactyl_promicro/rules.mk8
-rw-r--r--keyboards/handwired/dactyl_rah/rules.mk5
-rw-r--r--keyboards/handwired/daishi/rules.mk8
-rw-r--r--keyboards/handwired/datahand/rules.mk7
-rw-r--r--keyboards/handwired/dc/mc/001/rules.mk5
-rw-r--r--keyboards/handwired/ddg_56/rules.mk5
-rw-r--r--keyboards/handwired/dygma/raise/ansi/ansi.c81
-rw-r--r--keyboards/handwired/dygma/raise/ansi/info.json1115
-rw-r--r--keyboards/handwired/dygma/raise/ansi/rules.mk0
-rw-r--r--keyboards/handwired/dygma/raise/config.h34
-rw-r--r--keyboards/handwired/dygma/raise/halconf.h21
-rw-r--r--keyboards/handwired/dygma/raise/iso/info.json1115
-rw-r--r--keyboards/handwired/dygma/raise/iso/iso.c79
-rw-r--r--keyboards/handwired/dygma/raise/iso/rules.mk0
-rw-r--r--keyboards/handwired/dygma/raise/keymaps/ansi/keymap.c43
-rw-r--r--keyboards/handwired/dygma/raise/keymaps/ansi/readme.md1
-rw-r--r--keyboards/handwired/dygma/raise/keymaps/default/keymap.c43
-rw-r--r--keyboards/handwired/dygma/raise/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/dygma/raise/keymaps/iso/keymap.c43
-rw-r--r--keyboards/handwired/dygma/raise/keymaps/iso/readme.md1
-rw-r--r--keyboards/handwired/dygma/raise/leds.c101
-rw-r--r--keyboards/handwired/dygma/raise/leds.h25
-rw-r--r--keyboards/handwired/dygma/raise/matrix.c104
-rw-r--r--keyboards/handwired/dygma/raise/mcuconf.h25
-rw-r--r--keyboards/handwired/dygma/raise/raise.c22
-rw-r--r--keyboards/handwired/dygma/raise/raise.h83
-rw-r--r--keyboards/handwired/dygma/raise/readme.md55
-rw-r--r--keyboards/handwired/dygma/raise/rules.mk32
-rw-r--r--keyboards/handwired/dygma/raise/wire-protocol-constants.h51
-rw-r--r--keyboards/handwired/eagleii/rules.mk3
-rw-r--r--keyboards/handwired/elrgo_s/rules.mk5
-rw-r--r--keyboards/handwired/ergocheap/rules.mk6
-rw-r--r--keyboards/handwired/evk/v1_3/rules.mk5
-rw-r--r--keyboards/handwired/fc200rt_qmk/rules.mk5
-rw-r--r--keyboards/handwired/fivethirteen/keymaps/default/keymap.c40
-rw-r--r--keyboards/handwired/fivethirteen/rules.mk5
-rw-r--r--keyboards/handwired/floorboard/rules.mk5
-rw-r--r--keyboards/handwired/frankie_macropad/rules.mk8
-rw-r--r--keyboards/handwired/frenchdev/keymaps/default/keymap.c64
-rw-r--r--keyboards/handwired/frenchdev/rules.mk5
-rw-r--r--keyboards/handwired/freoduo/rules.mk5
-rw-r--r--keyboards/handwired/fruity60/rules.mk5
-rw-r--r--keyboards/handwired/gamenum/keymaps/default/keymap.c30
-rw-r--r--keyboards/handwired/gamenum/rules.mk5
-rw-r--r--keyboards/handwired/hacked_motospeed/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c8
-rw-r--r--keyboards/handwired/hacked_motospeed/rules.mk5
-rw-r--r--keyboards/handwired/heisenberg/rules.mk5
-rw-r--r--keyboards/handwired/hexon38/rules.mk9
-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/config.h35
-rw-r--r--keyboards/handwired/hillside/0_1/info.json13
-rw-r--r--keyboards/handwired/hillside/0_1/rules.mk8
-rw-r--r--keyboards/handwired/hillside/info.json97
-rw-r--r--keyboards/handwired/hillside/keymaps/default/keymap.json102
-rw-r--r--keyboards/handwired/hillside/keymaps/default/readme.md216
-rwxr-xr-xkeyboards/handwired/hillside/keymaps/json2hill.py136
-rw-r--r--keyboards/handwired/hillside/keymaps/via/keymap.json101
-rw-r--r--keyboards/handwired/hillside/readme.md29
-rw-r--r--keyboards/handwired/hnah108/rules.mk5
-rw-r--r--keyboards/handwired/hnah40/rules.mk5
-rw-r--r--keyboards/handwired/hnah40rgb/rules.mk5
-rw-r--r--keyboards/handwired/ibm122m/rules.mk5
-rw-r--r--keyboards/handwired/ibm_wheelwriter/rules.mk5
-rw-r--r--keyboards/handwired/jn68m/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/jn68m/rules.mk5
-rw-r--r--keyboards/handwired/jopr/rules.mk5
-rw-r--r--keyboards/handwired/jot50/keymaps/default/keymap.c51
-rw-r--r--keyboards/handwired/jot50/rules.mk8
-rw-r--r--keyboards/handwired/jotanck/rules.mk8
-rw-r--r--keyboards/handwired/jotpad16/rules.mk8
-rw-r--r--keyboards/handwired/jtallbean/split_65/rules.mk5
-rw-r--r--keyboards/handwired/juliet/rules.mk5
-rw-r--r--keyboards/handwired/k8split/rules.mk5
-rw-r--r--keyboards/handwired/k_numpad17/rules.mk4
-rw-r--r--keyboards/handwired/kbod/keymaps/default/config.h3
-rw-r--r--keyboards/handwired/kbod/keymaps/default/keymap.c40
-rw-r--r--keyboards/handwired/kbod/keymaps/default/rules.mk7
-rw-r--r--keyboards/handwired/kbod/rules.mk5
-rw-r--r--keyboards/handwired/ks63/rules.mk5
-rw-r--r--keyboards/handwired/lagrange/rules.mk5
-rw-r--r--keyboards/handwired/leftynumpad/rules.mk5
-rw-r--r--keyboards/handwired/lovelive9/rules.mk9
-rw-r--r--keyboards/handwired/macroboard/chconf.h39
-rw-r--r--keyboards/handwired/macroboard/config.h141
-rw-r--r--keyboards/handwired/macroboard/info.json41
-rw-r--r--keyboards/handwired/macroboard/keymaps/default/keymap.c27
-rw-r--r--keyboards/handwired/macroboard/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/macroboard/macroboard.c (renamed from keyboards/handwired/dactyl_left/keymaps/default/config.h)6
-rw-r--r--keyboards/handwired/macroboard/macroboard.h41
-rw-r--r--keyboards/handwired/macroboard/readme.md27
-rw-r--r--keyboards/handwired/macroboard/rules.mk19
-rw-r--r--keyboards/handwired/magicforce61/keymaps/default/keymap.c30
-rw-r--r--keyboards/handwired/magicforce61/rules.mk5
-rw-r--r--keyboards/handwired/magicforce68/keymaps/default/keymap.c30
-rw-r--r--keyboards/handwired/magicforce68/rules.mk5
-rw-r--r--keyboards/handwired/marauder/rules.mk5
-rw-r--r--keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/mechboards_micropad/rules.mk5
-rw-r--r--keyboards/handwired/meck_tkl/blackpill_f401/chconf.h39
-rw-r--r--keyboards/handwired/meck_tkl/blackpill_f401/config.h14
-rw-r--r--keyboards/handwired/meck_tkl/blackpill_f401/rules.mk10
-rw-r--r--keyboards/handwired/meck_tkl/config.h47
-rw-r--r--keyboards/handwired/meck_tkl/info.json103
-rw-r--r--keyboards/handwired/meck_tkl/keymaps/default/keymap.c29
-rw-r--r--keyboards/handwired/meck_tkl/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/meck_tkl/meck_tkl.c4
-rw-r--r--keyboards/handwired/meck_tkl/meck_tkl.h38
-rw-r--r--keyboards/handwired/meck_tkl/readme.md37
-rw-r--r--keyboards/handwired/meck_tkl/rules.mk16
-rw-r--r--keyboards/handwired/minorca/keymaps/default/keymap.c24
-rw-r--r--keyboards/handwired/minorca/keymaps/readme.md23
-rw-r--r--keyboards/handwired/minorca/rules.mk5
-rw-r--r--keyboards/handwired/misterdeck/config.h45
-rw-r--r--keyboards/handwired/misterdeck/info.json5
-rw-r--r--keyboards/handwired/misterdeck/keymaps/default/config.h20
-rw-r--r--keyboards/handwired/misterdeck/keymaps/default/keymap.c37
-rw-r--r--keyboards/handwired/misterdeck/keymaps/nobuttons/config.h22
-rw-r--r--keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c37
-rw-r--r--keyboards/handwired/misterdeck/misterdeck.c17
-rw-r--r--keyboards/handwired/misterdeck/misterdeck.h29
-rw-r--r--keyboards/handwired/misterdeck/readme.md21
-rw-r--r--keyboards/handwired/misterdeck/rules.mk21
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/default/config.h3
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c14
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk7
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/rules.mk9
-rw-r--r--keyboards/handwired/myskeeb/rules.mk6
-rw-r--r--keyboards/handwired/nicekey/rules.mk5
-rw-r--r--keyboards/handwired/not_so_minidox/rules.mk7
-rw-r--r--keyboards/handwired/novem/rules.mk5
-rw-r--r--keyboards/handwired/nozbe_macro/config.h57
-rw-r--r--keyboards/handwired/nozbe_macro/info.json15
-rw-r--r--keyboards/handwired/nozbe_macro/keymaps/default/keymap.c31
-rw-r--r--keyboards/handwired/nozbe_macro/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/nozbe_macro/nozbe_macro.c (renamed from keyboards/handwired/co60/keymaps/default/config.h)6
-rw-r--r--keyboards/handwired/nozbe_macro/nozbe_macro.h25
-rw-r--r--keyboards/handwired/nozbe_macro/readme.md26
-rw-r--r--keyboards/handwired/nozbe_macro/rules.mk18
-rw-r--r--keyboards/handwired/numpad20/keymaps/default/keymap.c10
-rw-r--r--keyboards/handwired/numpad20/rules.mk5
-rw-r--r--keyboards/handwired/obro/config.h58
-rw-r--r--keyboards/handwired/obro/info.json10
-rw-r--r--keyboards/handwired/obro/keymaps/default/keymap.c49
-rw-r--r--keyboards/handwired/obro/keymaps/via/keymap.c49
-rw-r--r--keyboards/handwired/obro/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/obro/obro.c18
-rw-r--r--keyboards/handwired/obro/obro.h37
-rw-r--r--keyboards/handwired/obro/readme.md22
-rw-r--r--keyboards/handwired/obro/rules.mk18
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c48
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/rules.mk5
-rw-r--r--keyboards/handwired/oem_ansi_fullsize/rules.mk5
-rw-r--r--keyboards/handwired/oem_iso_fullsize/rules.mk5
-rw-r--r--keyboards/handwired/onekey/keymaps/oled/keymap.c2
-rw-r--r--keyboards/handwired/onekey/rules.mk5
-rw-r--r--keyboards/handwired/ortho5x13/rules.mk5
-rw-r--r--keyboards/handwired/ortho5x14/rules.mk5
-rw-r--r--keyboards/handwired/ortho_brass/config.h44
-rw-r--r--keyboards/handwired/ortho_brass/info.json116
-rw-r--r--keyboards/handwired/ortho_brass/keymaps/default/keymap.c240
-rw-r--r--keyboards/handwired/ortho_brass/keymaps/default/readme.md5
-rw-r--r--keyboards/handwired/ortho_brass/ortho_brass.c26
-rw-r--r--keyboards/handwired/ortho_brass/ortho_brass.h47
-rw-r--r--keyboards/handwired/ortho_brass/readme.md6
-rw-r--r--keyboards/handwired/ortho_brass/rules.mk22
-rw-r--r--keyboards/handwired/owlet60/keymaps/default/keymap.c20
-rw-r--r--keyboards/handwired/owlet60/rules.mk5
-rw-r--r--keyboards/handwired/p65rgb/rules.mk5
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/config.h3
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/keymap.c40
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/rules.mk7
-rw-r--r--keyboards/handwired/pilcrow/rules.mk5
-rw-r--r--keyboards/handwired/pill60/rules.mk6
-rw-r--r--keyboards/handwired/postageboard/mini/rules.mk8
-rw-r--r--keyboards/handwired/postageboard/r1/rules.mk8
-rw-r--r--keyboards/handwired/prime_exl/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/prime_exl/rules.mk5
-rw-r--r--keyboards/handwired/prime_exl_plus/rules.mk5
-rw-r--r--keyboards/handwired/prkl30/feather/rules.mk3
-rw-r--r--keyboards/handwired/prkl30/promicro/rules.mk3
-rw-r--r--keyboards/handwired/promethium/keymaps/default/rules.mk11
-rw-r--r--keyboards/handwired/promethium/keymaps/readme.md22
-rw-r--r--keyboards/handwired/promethium/promethium.h2
-rw-r--r--keyboards/handwired/promethium/rules.mk8
-rw-r--r--keyboards/handwired/pterodactyl/rules.mk5
-rw-r--r--keyboards/handwired/pteron/keymaps/default/keymap.c48
-rw-r--r--keyboards/handwired/pteron/rules.mk5
-rw-r--r--keyboards/handwired/pteron38/rules.mk5
-rw-r--r--keyboards/handwired/pteron44/rules.mk5
-rw-r--r--keyboards/handwired/qc60/keymaps/default/keymap.c8
-rw-r--r--keyboards/handwired/qc60/rules.mk8
-rw-r--r--keyboards/handwired/reddot/keymaps/default/keymap.c20
-rwxr-xr-xkeyboards/handwired/reddot/rules.mk5
-rw-r--r--keyboards/handwired/retro_refit/keymaps/default/keymap.c14
-rw-r--r--keyboards/handwired/retro_refit/rules.mk6
-rw-r--r--keyboards/handwired/riblee_f401/rules.mk5
-rw-r--r--keyboards/handwired/riblee_f411/config.h5
-rw-r--r--keyboards/handwired/riblee_f411/rules.mk12
-rw-r--r--keyboards/handwired/rs60/keymaps/default/keymap.c72
-rw-r--r--keyboards/handwired/rs60/rules.mk5
-rw-r--r--keyboards/handwired/selene/rules.mk5
-rw-r--r--keyboards/handwired/sick68/rules.mk5
-rw-r--r--keyboards/handwired/sick_pad/rules.mk5
-rw-r--r--keyboards/handwired/slash/rules.mk5
-rw-r--r--keyboards/handwired/snatchpad/config.h145
-rw-r--r--keyboards/handwired/snatchpad/info.json21
-rw-r--r--keyboards/handwired/snatchpad/keymaps/default/keymap.c23
-rw-r--r--keyboards/handwired/snatchpad/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/snatchpad/readme.md34
-rw-r--r--keyboards/handwired/snatchpad/rules.mk20
-rw-r--r--keyboards/handwired/snatchpad/snatchpad.c66
-rw-r--r--keyboards/handwired/snatchpad/snatchpad.h24
-rw-r--r--keyboards/handwired/sono1/config.h74
-rw-r--r--keyboards/handwired/sono1/keymaps/via/config.h4
-rw-r--r--keyboards/handwired/sono1/keymaps/via/keymap.c66
-rw-r--r--keyboards/handwired/sono1/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/sono1/readme.md32
-rw-r--r--keyboards/handwired/sono1/rules.mk14
-rw-r--r--keyboards/handwired/sono1/stm32f103/chconf.h (renamed from keyboards/handwired/sono1/chconf.h)3
-rw-r--r--keyboards/handwired/sono1/stm32f103/config.h36
-rw-r--r--keyboards/handwired/sono1/stm32f103/halconf.h (renamed from keyboards/handwired/sono1/halconf.h)3
-rw-r--r--keyboards/handwired/sono1/stm32f103/mcuconf.h (renamed from keyboards/handwired/sono1/mcuconf.h)3
-rw-r--r--keyboards/handwired/sono1/stm32f103/rules.mk8
-rw-r--r--keyboards/handwired/sono1/t2pp/config.h36
-rw-r--r--keyboards/handwired/sono1/t2pp/rules.mk5
-rw-r--r--keyboards/handwired/space_oddity/keymaps/default/keymap.c42
-rw-r--r--keyboards/handwired/space_oddity/rules.mk5
-rw-r--r--keyboards/handwired/split65/promicro/rules.mk5
-rw-r--r--keyboards/handwired/split65/stm32/rules.mk5
-rw-r--r--keyboards/handwired/split89/rules.mk5
-rw-r--r--keyboards/handwired/splittest/rules.mk8
-rw-r--r--keyboards/handwired/steamvan/keymaps/default/config.h3
-rw-r--r--keyboards/handwired/steamvan/rev1/rules.mk4
-rw-r--r--keyboards/handwired/sticc14/rules.mk5
-rw-r--r--keyboards/handwired/stream_cheap/2x3/rules.mk5
-rw-r--r--keyboards/handwired/stream_cheap/2x4/rules.mk5
-rw-r--r--keyboards/handwired/stream_cheap/2x5/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/astro65/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/bebol/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/beegboy/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/bumblebee.c56
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/bumblebee.h39
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/config.h58
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/info.json10
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c47
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk2
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c53
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk4
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/readme.md21
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/rules.mk19
-rw-r--r--keyboards/handwired/swiftrax/cowfish/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/config.h47
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/digicarp65.c31
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/digicarp65.h78
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/info.json315
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c42
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c50
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/readme.md21
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/rules.mk21
-rw-r--r--keyboards/handwired/swiftrax/equator/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/glacier/config.h51
-rw-r--r--keyboards/handwired/swiftrax/glacier/glacier.c18
-rw-r--r--keyboards/handwired/swiftrax/glacier/glacier.h43
-rw-r--r--keyboards/handwired/swiftrax/glacier/info.json10
-rw-r--r--keyboards/handwired/swiftrax/glacier/keymaps/default/keymap.c28
-rw-r--r--keyboards/handwired/swiftrax/glacier/keymaps/via/keymap.c44
-rw-r--r--keyboards/handwired/swiftrax/glacier/keymaps/via/rules.mk1
-rw-r--r--keyboards/handwired/swiftrax/glacier/readme.md18
-rw-r--r--keyboards/handwired/swiftrax/glacier/rules.mk18
-rw-r--r--keyboards/handwired/swiftrax/joypad/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/koalafications/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/nodu/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/pandamic/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/the_galleon/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/unsplit/rules.mk5
-rw-r--r--keyboards/handwired/swiftrax/walter/rules.mk5
-rw-r--r--keyboards/handwired/symmetric70_proto/promicro/rules.mk5
-rw-r--r--keyboards/handwired/symmetric70_proto/proton_c/rules.mk5
-rw-r--r--keyboards/handwired/symmetry60/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/symmetry60/rules.mk5
-rw-r--r--keyboards/handwired/t111/rules.mk5
-rw-r--r--keyboards/handwired/tennie/keymaps/simple-numbpad/config.h19
-rw-r--r--keyboards/handwired/tennie/keymaps/soundboard/config.h19
-rw-r--r--keyboards/handwired/tennie/rules.mk5
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/keymap.c64
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/rules.mk7
-rw-r--r--keyboards/handwired/terminus_mini/rules.mk5
-rw-r--r--keyboards/handwired/trackpoint/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/trackpoint/rules.mk7
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/config.h2
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c100
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/rules.mk5
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/config.h3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h1
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h11
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c29
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/post_config.h20
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md5
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk2
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h7
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c302
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk46
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/rules.mk7
-rw-r--r--keyboards/handwired/tractyl_manuform/tm_sync.c114
-rw-r--r--keyboards/handwired/tractyl_manuform/tractyl_manuform.c18
-rw-r--r--keyboards/handwired/tractyl_manuform/tractyl_manuform.h9
-rw-r--r--keyboards/handwired/traveller/rules.mk5
-rw-r--r--keyboards/handwired/tritium_numpad/rules.mk4
-rw-r--r--keyboards/handwired/twadlee/tp69/rules.mk5
-rw-r--r--keyboards/handwired/unicomp_mini_m/rules.mk5
-rw-r--r--keyboards/handwired/unk/rules.mk5
-rw-r--r--keyboards/handwired/videowriter/rules.mk5
-rw-r--r--keyboards/handwired/wabi/rules.mk5
-rw-r--r--keyboards/handwired/woodpad/rules.mk5
-rw-r--r--keyboards/handwired/wulkan/rules.mk4
-rw-r--r--keyboards/handwired/xealous/keymaps/default/keymap.c36
-rw-r--r--keyboards/handwired/xealous/rules.mk8
-rw-r--r--keyboards/handwired/xealousbrown/rules.mk5
-rw-r--r--keyboards/handwired/z150/rules.mk5
-rw-r--r--keyboards/handwired/zergo/rules.mk5
519 files changed, 14189 insertions, 2057 deletions
diff --git a/keyboards/handwired/108key_trackpoint/rules.mk b/keyboards/handwired/108key_trackpoint/rules.mk
index 32e013a28c..ab84b088bc 100644
--- a/keyboards/handwired/108key_trackpoint/rules.mk
+++ b/keyboards/handwired/108key_trackpoint/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+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/handwired/2x5keypad/rules.mk b/keyboards/handwired/2x5keypad/rules.mk
index f24ea2d096..08870622a1 100644
--- a/keyboards/handwired/2x5keypad/rules.mk
+++ b/keyboards/handwired/2x5keypad/rules.mk
@@ -4,7 +4,9 @@ MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
-
+# Build Options
+# change yes to no to disable
+#
AUDIO_ENABLE = no
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
@@ -12,7 +14,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration
CONSOLE_ENABLE= no # Console for debug
EXTRAKEY_ENABLE = yes # Audio control and System control
MOUSEKEY_ENABLE = yes # Mouse keys
-NKRO_ENABLE = yes # USB Nkey Rollover -
+NKRO_ENABLE = yes # Enable N-Key Rollover
RGBLIGHT_ENABLE = no
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/owlet60/keymaps/default/config.h b/keyboards/handwired/3dfoxc/3dfoxc.c
index f662fe7c93..e83a32d295 100644
--- a/keyboards/handwired/owlet60/keymaps/default/config.h
+++ b/keyboards/handwired/3dfoxc/3dfoxc.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 worthlessowl
+/* Copyright 2022 david l goodrich <dlg@dsrw.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
@@ -14,6 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#pragma once
-
-// place overrides here
+#include "3dfoxc.h"
diff --git a/keyboards/handwired/3dfoxc/3dfoxc.h b/keyboards/handwired/3dfoxc/3dfoxc.h
new file mode 100644
index 0000000000..b632cff2ce
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/3dfoxc.h
@@ -0,0 +1,38 @@
+/* Copyright 2022 david l goodrich <dlg@dsrw.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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define XXX KC_NO
+
+#define LAYOUT( \
+ 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, 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, 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, XXX, K4D, K4E, K4F }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/3dfoxc/config.h b/keyboards/handwired/3dfoxc/config.h
new file mode 100644
index 0000000000..ea73f91ba0
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/config.h
@@ -0,0 +1,45 @@
+/* Copyright 2022 david l goodrich <dlg@dsrw.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/>.
+ */
+
+#pragma once
+
+#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
+
+/*
+ * 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, C7, D5, B7 }
+#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
+
+#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/3dfoxc/info.json b/keyboards/handwired/3dfoxc/info.json
new file mode 100644
index 0000000000..06e849bb11
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/info.json
@@ -0,0 +1,364 @@
+{
+ "keyboard_name": "3dfoxc",
+ "url": "",
+ "maintainer": "dlgoodr",
+ "layouts": {
+ "LAYOUT": {
+ "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": "K0E (B0,D3)",
+ "x": 14,
+ "y": 0
+ },
+ {
+ "label": "K0F (B0,D4)",
+ "x": 15,
+ "y": 0
+ },
+ {
+ "label": "K10 (B1,B5)",
+ "x": 0,
+ "y": 1,
+ "w": 1.5
+ },
+ {
+ "label": "K12 (B1,B7)",
+ "x": 1.5,
+ "y": 1
+ },
+ {
+ "label": "K13 (B1,C0)",
+ "x": 2.5,
+ "y": 1
+ },
+ {
+ "label": "K14 (B1,C1)",
+ "x": 3.5,
+ "y": 1
+ },
+ {
+ "label": "K15 (B1,C2)",
+ "x": 4.5,
+ "y": 1
+ },
+ {
+ "label": "K16 (B1,C3)",
+ "x": 5.5,
+ "y": 1
+ },
+ {
+ "label": "K17 (B1,C4)",
+ "x": 6.5,
+ "y": 1
+ },
+ {
+ "label": "K18 (B1,C5)",
+ "x": 7.5,
+ "y": 1
+ },
+ {
+ "label": "K19 (B1,C6)",
+ "x": 8.5,
+ "y": 1
+ },
+ {
+ "label": "K1A (B1,C7)",
+ "x": 9.5,
+ "y": 1
+ },
+ {
+ "label": "K1B (B1,D0)",
+ "x": 10.5,
+ "y": 1
+ },
+ {
+ "label": "K1C (B1,D1)",
+ "x": 11.5,
+ "y": 1
+ },
+ {
+ "label": "K1D (B1,D2)",
+ "x": 12.5,
+ "y": 1
+ },
+ {
+ "label": "K1E (B1,D3)",
+ "x": 13.5,
+ "y": 1,
+ "w": 1.5
+ },
+ {
+ "label": "K1F (B1,D4)",
+ "x": 15,
+ "y": 1
+ },
+ {
+ "label": "K20 (B2,B5)",
+ "x": 0,
+ "y": 2,
+ "w": 1.75
+ },
+ {
+ "label": "K22 (B2,B7)",
+ "x": 1.75,
+ "y": 2
+ },
+ {
+ "label": "K23 (B2,C0)",
+ "x": 2.75,
+ "y": 2
+ },
+ {
+ "label": "K24 (B2,C1)",
+ "x": 3.75,
+ "y": 2
+ },
+ {
+ "label": "K25 (B2,C2)",
+ "x": 4.75,
+ "y": 2
+ },
+ {
+ "label": "K26 (B2,C3)",
+ "x": 5.75,
+ "y": 2
+ },
+ {
+ "label": "K27 (B2,C4)",
+ "x": 6.75,
+ "y": 2
+ },
+ {
+ "label": "K28 (B2,C5)",
+ "x": 7.75,
+ "y": 2
+ },
+ {
+ "label": "K29 (B2,C6)",
+ "x": 8.75,
+ "y": 2
+ },
+ {
+ "label": "K2A (B2,C7)",
+ "x": 9.75,
+ "y": 2
+ },
+ {
+ "label": "K2B (B2,D0)",
+ "x": 10.75,
+ "y": 2
+ },
+ {
+ "label": "K2C (B2,D1)",
+ "x": 11.75,
+ "y": 2
+ },
+ {
+ "label": "K2D (B2,D2)",
+ "x": 12.75,
+ "y": 2,
+ "w": 2.25
+ },
+ {
+ "label": "K2F (B2,D4)",
+ "x": 15,
+ "y": 2
+ },
+ {
+ "label": "K31 (B3,B6)",
+ "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": "K3D (B3,D2)",
+ "x": 12.25,
+ "y": 3,
+ "w": 1.75
+ },
+ {
+ "label": "K3E (B3,D3)",
+ "x": 14,
+ "y": 3
+ },
+ {
+ "label": "K3F (B3,D4)",
+ "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": "K43 (B4,C0)",
+ "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": "K4D (B4,D2)",
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "K4E (B4,D3)",
+ "x": 14,
+ "y": 4
+ },
+ {
+ "label": "K4F (B4,D4)",
+ "x": 15,
+ "y": 4
+ }
+ ]
+ }
+ },
+ "meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+} \ No newline at end of file
diff --git a/keyboards/handwired/3dfoxc/keymaps/default/keymap.c b/keyboards/handwired/3dfoxc/keymaps/default/keymap.c
new file mode 100644
index 0000000000..aaed418709
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/keymaps/default/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2022 david l goodrich <dlg@dsrw.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 QMK_KEYBOARD_H
+
+enum custom_layers {
+ _BL,
+ _FL,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Keymap _BL: (Base Layer) Default Layer
+ * ,---------------------------------------------------------------.
+ * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |~` |???|
+ * |---------------------------------------------------------------|
+ * |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] |Bkspc|Del|
+ * |---------------------------------------------------------------|
+ * |Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |PUp|
+ * |---------------------------------------------------------------|
+ * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift |Up |PDn|
+ * |---------------------------------------------------------------|
+ * |Ctrl|Win |Alt | Space |Alt |Fn ||Lt |Dn |Rt |
+ * `--------------------------------------------------''-----------'
+ */
+
+ [_BL] = 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_NO,
+ KC_TAB, KC_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_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_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_LALT, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Keymap _FL: Function Layer
+ * ,---------------------------------------------------------------.
+ * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| |RST| |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | |PSc| | |Del |Ins|
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | |Hme|
+ * |---------------------------------------------------------------|
+ * | | | | | | | |MUT|V- |V+ | | |PUp|End|
+ * |---------------------------------------------------------------|
+ * | | | | | | ||Hme|PDn|End|
+ * `--------------------------------------------------''-----------'
+ */
+ [_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, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, KC_DEL, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_PGUP, KC_END,
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ )
+};
+ \ No newline at end of file
diff --git a/keyboards/handwired/3dfoxc/keymaps/default/readme.md b/keyboards/handwired/3dfoxc/keymaps/default/readme.md
new file mode 100644
index 0000000000..26ced1cb91
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/keymaps/default/readme.md
@@ -0,0 +1,3 @@
+# 3dfoxc "Default" keymap
+
+Set up just like the [original whitefox](https://input.club/whitefox/), except the function layer is totally made up. \ No newline at end of file
diff --git a/keyboards/handwired/co60/keymaps/all_keys/config.h b/keyboards/handwired/3dfoxc/keymaps/dlg/config.h
index a68c5c7465..d824330b04 100644
--- a/keyboards/handwired/co60/keymaps/all_keys/config.h
+++ b/keyboards/handwired/3dfoxc/keymaps/dlg/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2019 John M Daly <jmdaly@gmail.com>
+/* Copyright 2022 david l goodrich <dlg@dsrw.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
@@ -16,5 +16,4 @@
#pragma once
-
-// place overrides here
+#define GRAVE_ESC_ALT_OVERRIDE
diff --git a/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c b/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c
new file mode 100644
index 0000000000..c4431acecc
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/keymaps/dlg/keymap.c
@@ -0,0 +1,112 @@
+/* Copyright 2022 david l goodrich <dlg@dsrw.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 QMK_KEYBOARD_H
+
+enum custom_layers {
+ _BL,
+ _FL,
+ _MAC,
+ _LA,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Keymap _BL: (Base Layer) Default Layer
+ * ,---------------------------------------------------------------.
+ * |~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bks|???|Esc|
+ * |---------------------------------------------------------------|
+ * |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |Del|
+ * |---------------------------------------------------------------|
+ * |Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |PUp|
+ * |---------------------------------------------------------------|
+ * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift |Up |PDn|
+ * |---------------------------------------------------------------|
+ * |Ctrl|Win |Alt | Space |Alt |Fn ||Lt |Dn |Rt |
+ * `--------------------------------------------------''-----------'
+ */
+ [_BL] = 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_BSPC, XXXXXXX, KC_ESC,
+ KC_TAB, KC_Q, KC_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_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_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, LM(_LA, MOD_LALT), KC_SPC, KC_LALT, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /* Keymap _FL: Function Layer
+ * ,---------------------------------------------------------------.
+ * | |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del|RST| |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | |mac| |PSc|Br-|Br+| |Ins|
+ * |---------------------------------------------------------------|
+ * | | | | | | |Lt |Dn |Up |Rt | | | |Hme|
+ * |---------------------------------------------------------------|
+ * | | | | | | | |MUT|V- |V+ | | |PUp|End|
+ * |---------------------------------------------------------------|
+ * | | | | | | ||Hme|PDn|End|
+ * `--------------------------------------------------''-----------'
+ */
+ [_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, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, 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,
+ _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
+ ),
+
+ /* Keymap _MAC: Mac Layer
+ * ,---------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * |Ctrl|Alt |Win | |Win | || | | |
+ * `--------------------------------------------------''-----------'
+ */
+ [_MAC] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LCTL, KC_LALT, KC_LGUI, _______, KC_RGUI, _______, _______, _______, _______
+ ),
+
+ /* Keymap _LA: Left Alt Layer - LALT-4 maps to LALT-F4 so I can quit apps
+ * ,---------------------------------------------------------------.
+ * | | | | |F4 | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * | | | | | | | | | | | | | | |
+ * |---------------------------------------------------------------|
+ * | | | | | | || | | |
+ * `--------------------------------------------------''-----------'
+ */
+ [_LA] = LAYOUT(
+ _______, _______, _______, _______, KC_F4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
diff --git a/keyboards/handwired/3dfoxc/keymaps/dlg/readme.md b/keyboards/handwired/3dfoxc/keymaps/dlg/readme.md
new file mode 100755
index 0000000000..487086e572
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/keymaps/dlg/readme.md
@@ -0,0 +1,73 @@
+# dlg's layout
+
+Inspired heavily by [my tada68 layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/tada68/keymaps/dlg).
+
+Notable deviation from the default keymap includes correctly placing `KC_BSLS` and moving `KC_BSPC` up to the top row where it belongs. The additional key on the top-row is a NOOP while I think of something fun. I also swapped `Esc` and `~` as in my tada68 layout.
+
+
+### Base Layer
+
+```
+,---------------------------------------------------------------.
+|~` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bks|???|Esc|
+|---------------------------------------------------------------|
+|Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |Del|
+|---------------------------------------------------------------|
+|Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |PUp|
+|---------------------------------------------------------------|
+|Shift | Z | X | C | V | B | N | M | , | . | / |Shift |Up |PDn|
+|---------------------------------------------------------------|
+|Ctrl|Win |Alt | Space |Alt |Fn ||Lt |Dn |Rt |
+`--------------------------------------------------''-----------'
+```
+
+
+### Fn Layer
+
+```
+,---------------------------------------------------------------.
+| |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del|RST| |
+|---------------------------------------------------------------|
+| | | | | | | | |mac| |PSc|Br-|Br+| |Ins|
+|---------------------------------------------------------------|
+| | | | | | |Lt |Dn |Up |Rt | | | |Hme|
+|---------------------------------------------------------------|
+| | | | | | | |MUT|V- |V+ | | |PUp|End|
+|---------------------------------------------------------------|
+| | | | | | ||Hme|PDn|End|
+`--------------------------------------------------''-----------'
+```
+
+### Mac Layer
+
+```
+,---------------------------------------------------------------.
+| | | | | | | | | | | | | | | | |
+|---------------------------------------------------------------|
+| | | | | | | | | | | | | | | |
+|---------------------------------------------------------------|
+| | | | | | | | | | | | | | |
+|---------------------------------------------------------------|
+| | | | | | | | | | | | | | |
+|---------------------------------------------------------------|
+|Ctrl|Alt |Win | |Win | || | | |
+`--------------------------------------------------''-----------'
+```
+
+### `LALT` Layer
+
+Left Alt Layer - LALT-4 maps to LALT-F4 so I can quit apps
+
+```
+,---------------------------------------------------------------.
+| | | | |F4 | | | | | | | | | | | |
+|---------------------------------------------------------------|
+| | | | | | | | | | | | | | | |
+|---------------------------------------------------------------|
+| | | | | | | | | | | | | | |
+|---------------------------------------------------------------|
+| | | | | | | | | | | | | | |
+|---------------------------------------------------------------|
+| | | | | | || | | |
+`--------------------------------------------------''-----------'
+```
diff --git a/keyboards/handwired/3dfoxc/readme.md b/keyboards/handwired/3dfoxc/readme.md
new file mode 100644
index 0000000000..3d6e33a5c1
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/readme.md
@@ -0,0 +1,42 @@
+# 3dfoxc
+
+![3dfoxc](https://cdn.thingiverse.com/assets/12/3a/3e/5f/47/64A223C2-57E8-4124-B6AB-3031A0BA7973.jpeg)
+
+A [3d-printed whitefox](https://www.thingiverse.com/thing:2952008) with an Elite-C microcontroller.
+
+This is a build of [matt3o's "How to Build a Custom Keyboard" guide](https://matt3o.com/book/), except that I have replaced the Teensy with an [Elite-C v4](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4). Presumably you could replace it with anything compatible. The USB-C port had to be enlarged with dremel, and the mount for the Teensy was ground off and replaced with everyone's favorite rapid modeling polymer ... hot glue.
+
+* Keyboard Maintainer: [david l goodrich](mailto:dlg@dsrw.org)
+* Hardware Supported:
+ * [3d-printed whitefox](https://www.thingiverse.com/thing:2952008)
+ * Elite-C microcontroller
+* Hardware Availability: [keebio](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4), [1up](https://1upkeyboards.com/shop/controllers/elite-c-v4-controller/), [keyhive](https://keyhive.xyz/shop/elite-c), [splitkb](https://splitkb.com/products/elite-c-low-profile-rev4-microcontroller)
+
+## Wiring
+
+Badly, because I have never done this before. Build pics available upon request, I guess.
+
+![wiring diagram](https://user-images.githubusercontent.com/6492494/148123622-36cae91e-97f3-40f7-a6fc-4d59b1a3ef02.png)
+
+
+## Flashing
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/3dfoxc:default
+
+Flashing example for this keyboard (use the `dfu` target for the Elite-C!):
+
+ make handwired/3dfoxc: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).
+
+## 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
+
+
diff --git a/keyboards/handwired/3dfoxc/rules.mk b/keyboards/handwired/3dfoxc/rules.mk
new file mode 100644
index 0000000000..168a617754
--- /dev/null
+++ b/keyboards/handwired/3dfoxc/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 = 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/handwired/3dortho14u/keymaps/default/keymap.c b/keyboards/handwired/3dortho14u/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e8d96d22ce
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+// Copyright 2022 Xiao (@xia0)
+// 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,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, 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_NO , 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_NO , KC_NO , KC_SPC , KC_NO , KC_NO , KC_NO , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN] = LAYOUT(
+ KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_DEL ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END
+ )
+};
diff --git a/keyboards/handwired/3dortho14u/keymaps/default/readme.md b/keyboards/handwired/3dortho14u/keymaps/default/readme.md
new file mode 100644
index 0000000000..04e5d40fd5
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for 3dortho14u
diff --git a/keyboards/handwired/3dortho14u/keymaps/via/keymap.c b/keyboards/handwired/3dortho14u/keymaps/via/keymap.c
new file mode 100644
index 0000000000..ba5a1cde3f
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/keymaps/via/keymap.c
@@ -0,0 +1,35 @@
+// Copyright 2022 Xiao (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC , KC_1 , KC_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_NO , 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(1) , KC_NO , KC_NO , KC_SPC , KC_NO , KC_NO , KC_NO , KC_RALT, 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_INS ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/handwired/3dortho14u/keymaps/via/rules.mk b/keyboards/handwired/3dortho14u/keymaps/via/rules.mk
new file mode 100644
index 0000000000..7a49719505
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
+# rules.mk overrides to enable VIA
+
+VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/handwired/3dortho14u/readme.md b/keyboards/handwired/3dortho14u/readme.md
new file mode 100644
index 0000000000..3163891d48
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/readme.md
@@ -0,0 +1,40 @@
+# 3dortho14u
+
+![3dortho14u](https://i.imgur.com/us16LYTh.jpg)
+
+A symmetrical 14u wide ortholinear keyboard.
+
+In addition to the 3d printed parts and microcontroller, the following hardware is required:
+* 8 * 12 mm M3 bolt
+* Either:
+ * 8 * M3 muts and CA glue
+ OR
+ * 8 * 3x3 mm threaded insert
+* Optional:
+ * USB daughter board
+
+---
+
+* Keyboard Maintainer: [xia0](https://github.com/xia0)
+* Hardware Supported:
+ * rev1: Teensy 2.0 (ATmega32u4)
+ * rev2: Arduino Pro Micro (ATmega32u4)
+* Hardware Availability: [github](https://github.com/xia0/keeb_files/tree/main/3dortho14u)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 3dortho14u/rev1:default
+
+Flashing example for this keyboard:
+
+ make 3dortho14u/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 (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
diff --git a/keyboards/handwired/3dortho14u/rev1/config.h b/keyboards/handwired/3dortho14u/rev1/config.h
new file mode 100644
index 0000000000..d78fd0a7f8
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev1/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Xiao (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
diff --git a/keyboards/handwired/3dortho14u/rev1/info.json b/keyboards/handwired/3dortho14u/rev1/info.json
new file mode 100644
index 0000000000..72ed95e5f4
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev1/info.json
@@ -0,0 +1,115 @@
+{
+ "manufacturer": "xia0",
+ "keyboard_name": "3dortho14u",
+ "url": "",
+ "maintainer": "xia0",
+ "processor": "atmega32u4",
+ "debounce": 5,
+ "diode_direction": "COL2ROW",
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bluetooth": false,
+ "bootmagic": true,
+ "command": false,
+ "console": true,
+ "extrakey": true,
+ "midi": false,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": false,
+ "unicode": false
+ },
+ "indicators": {
+ "caps_lock": "F0"
+ },
+ "matrix_pins": {
+ "cols": ["D0", "D1", "D2", "D3", "C6", "C7", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "F7"],
+ "rows": ["B0", "B1", "B2", "B3", "B7"]
+ },
+ "usb": {
+ "device_ver": "0x0001",
+ "pid": "0x3D14",
+ "vid": "0x6662"
+ },
+ "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": [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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/3dortho14u/rev1/readme.md b/keyboards/handwired/3dortho14u/rev1/readme.md
new file mode 100644
index 0000000000..e785369b23
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev1/readme.md
@@ -0,0 +1,39 @@
+# 3dortho14u
+
+![3dortho14u](https://i.imgur.com/us16LYTh.jpg)
+
+A symmetrical 14u wide ortholinear keyboard.
+
+In addition to the 3d printed parts and microcontroller, the following hardware is required:
+* 8 * 12 mm M3 bolt
+* Either:
+ * 8 * M3 muts and CA glue
+ OR
+ * 8 * 3x3 mm threaded insert
+* Optional:
+ * USB daughter board
+
+---
+
+* Keyboard Maintainer: [xia0](https://github.com/xia0)
+* Hardware Supported:
+ * Teensy 2.0 (ATmega32u4)
+* Hardware Availability: [github](https://github.com/xia0/keeb_files/tree/main/3dortho14u)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 3dortho14u/rev1:default
+
+Flashing example for this keyboard:
+
+ make 3dortho14u/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 (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
diff --git a/keyboards/handwired/3dortho14u/rev1/rev1.c b/keyboards/handwired/3dortho14u/rev1/rev1.c
new file mode 100644
index 0000000000..220fd71cfe
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev1/rev1.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Xiao (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "rev1.h"
diff --git a/keyboards/handwired/3dortho14u/rev1/rev1.h b/keyboards/handwired/3dortho14u/rev1/rev1.h
new file mode 100644
index 0000000000..d8f47c43f8
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev1/rev1.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Xiao (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
diff --git a/keyboards/handwired/3dortho14u/rev1/rules.mk b/keyboards/handwired/3dortho14u/rev1/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev1/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/handwired/3dortho14u/rev2/config.h b/keyboards/handwired/3dortho14u/rev2/config.h
new file mode 100644
index 0000000000..d78fd0a7f8
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev2/config.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Xiao (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
diff --git a/keyboards/handwired/3dortho14u/rev2/info.json b/keyboards/handwired/3dortho14u/rev2/info.json
new file mode 100644
index 0000000000..705d6b5570
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev2/info.json
@@ -0,0 +1,115 @@
+{
+ "manufacturer": "xia0",
+ "keyboard_name": "3dortho14u",
+ "url": "",
+ "maintainer": "xia0",
+ "processor": "atmega32u4",
+ "debounce": 5,
+ "diode_direction": "COL2ROW",
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bluetooth": false,
+ "bootmagic": true,
+ "command": false,
+ "console": true,
+ "extrakey": true,
+ "midi": false,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": false,
+ "unicode": false
+ },
+ "indicators": {
+ "caps_lock": "F4"
+ },
+ "matrix_pins": {
+ "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"],
+ "rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"]
+ },
+ "usb": {
+ "device_ver": "0x0001",
+ "pid": "0x3D14",
+ "vid": "0x6662"
+ },
+ "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": [5, 0], "x": 7, "y": 0},
+ {"matrix": [5, 1], "x": 8, "y": 0},
+ {"matrix": [5, 2], "x": 9, "y": 0},
+ {"matrix": [5, 3], "x": 10, "y": 0},
+ {"matrix": [5, 4], "x": 11, "y": 0},
+ {"matrix": [5, 5], "x": 12, "y": 0},
+ {"matrix": [5, 6], "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": [6, 0], "x": 7, "y": 1},
+ {"matrix": [6, 1], "x": 8, "y": 1},
+ {"matrix": [6, 2], "x": 9, "y": 1},
+ {"matrix": [6, 3], "x": 10, "y": 1},
+ {"matrix": [6, 4], "x": 11, "y": 1},
+ {"matrix": [6, 5], "x": 12, "y": 1},
+ {"matrix": [6, 6], "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": [7, 0], "x": 7, "y": 2},
+ {"matrix": [7, 1], "x": 8, "y": 2},
+ {"matrix": [7, 2], "x": 9, "y": 2},
+ {"matrix": [7, 3], "x": 10, "y": 2},
+ {"matrix": [7, 4], "x": 11, "y": 2},
+ {"matrix": [7, 5], "x": 12, "y": 2},
+ {"matrix": [7, 6], "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": [8, 0], "x": 7, "y": 3},
+ {"matrix": [8, 1], "x": 8, "y": 3},
+ {"matrix": [8, 2], "x": 9, "y": 3},
+ {"matrix": [8, 3], "x": 10, "y": 3},
+ {"matrix": [8, 4], "x": 11, "y": 3},
+ {"matrix": [8, 5], "x": 12, "y": 3},
+ {"matrix": [8, 6], "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": [9, 0], "x": 7, "y": 4},
+ {"matrix": [9, 1], "x": 8, "y": 4},
+ {"matrix": [9, 2], "x": 9, "y": 4},
+ {"matrix": [9, 3], "x": 10, "y": 4},
+ {"matrix": [9, 4], "x": 11, "y": 4},
+ {"matrix": [9, 5], "x": 12, "y": 4},
+ {"matrix": [9, 6], "x": 13, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/3dortho14u/rev2/readme.md b/keyboards/handwired/3dortho14u/rev2/readme.md
new file mode 100644
index 0000000000..bb2e982130
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev2/readme.md
@@ -0,0 +1,39 @@
+# 3dortho14u
+
+![3dortho14u](https://i.imgur.com/us16LYTh.jpg)
+
+A symmetrical 14u wide ortholinear keyboard.
+
+In addition to the 3d printed parts and microcontroller, the following hardware is required:
+* 8 * 12 mm M3 bolt
+* Either:
+ * 8 * M3 muts and CA glue
+ OR
+ * 8 * 3x3 mm threaded insert
+* Optional:
+ * USB daughter board
+
+---
+
+* Keyboard Maintainer: [xia0](https://github.com/xia0)
+* Hardware Supported:
+ * Arduino Pro Micro (ATmega32u4)
+* Hardware Availability: [github](https://github.com/xia0/keeb_files/tree/main/3dortho14u)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 3dortho14u/rev2:default
+
+Flashing example for this keyboard:
+
+ make 3dortho14u/rev2:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## 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
diff --git a/keyboards/handwired/3dortho14u/rev2/rev2.c b/keyboards/handwired/3dortho14u/rev2/rev2.c
new file mode 100644
index 0000000000..545fea9fad
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev2/rev2.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Xiao (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "rev2.h"
diff --git a/keyboards/handwired/3dortho14u/rev2/rev2.h b/keyboards/handwired/3dortho14u/rev2/rev2.h
new file mode 100644
index 0000000000..d8f47c43f8
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev2/rev2.h
@@ -0,0 +1,6 @@
+// Copyright 2022 Xiao (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
diff --git a/keyboards/handwired/3dortho14u/rev2/rules.mk b/keyboards/handwired/3dortho14u/rev2/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/handwired/3dortho14u/rev2/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/handwired/3dp660/rules.mk b/keyboards/handwired/3dp660/rules.mk
index 0866edd414..a8ac9f9320 100644
--- a/keyboards/handwired/3dp660/rules.mk
+++ b/keyboards/handwired/3dp660/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/412_64/keymaps/default/config.h b/keyboards/handwired/412_64/keymaps/default/config.h
deleted file mode 100644
index d533d806c9..0000000000
--- a/keyboards/handwired/412_64/keymaps/default/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/412_64/rules.mk b/keyboards/handwired/412_64/rules.mk
index 0b0fa6f8f3..52d23b3122 100644
--- a/keyboards/handwired/412_64/rules.mk
+++ b/keyboards/handwired/412_64/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/42/rules.mk b/keyboards/handwired/42/rules.mk
index 72d7ebf915..5742e84bf5 100644
--- a/keyboards/handwired/42/rules.mk
+++ b/keyboards/handwired/42/rules.mk
@@ -15,10 +15,7 @@ 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
+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/handwired/6key/rules.mk b/keyboards/handwired/6key/rules.mk
index 4642c12599..5be28d8a57 100644
--- a/keyboards/handwired/6key/rules.mk
+++ b/keyboards/handwired/6key/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/6macro/keymaps/default/keymap.c b/keyboards/handwired/6macro/keymaps/default/keymap.c
index 365dbf7b05..1c6b91a7d3 100644
--- a/keyboards/handwired/6macro/keymaps/default/keymap.c
+++ b/keyboards/handwired/6macro/keymaps/default/keymap.c
@@ -25,8 +25,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------+-------+-------'
*/
[0] = LAYOUT(
- KC_F13, KC_F14, LT(1, KC_F15), \
- KC_F16, KC_F17, KC_F18 \
+ KC_F13, KC_F14, LT(1, KC_F15),
+ KC_F16, KC_F17, KC_F18
),
/* LAYER 1
@@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------+-------+-------'
*/
[1] = LAYOUT(
- RGB_TOG, RGB_MOD, KC_TRNS, \
- RGB_HUI, RGB_VAI, MO(2) \
+ RGB_TOG, RGB_MOD, KC_TRNS,
+ RGB_HUI, RGB_VAI, MO(2)
),
/* LAYER 2
@@ -49,8 +49,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------+-------+-------'
*/
[2] = LAYOUT(
- RESET, RGB_RMOD, KC_NO, \
- RGB_HUD, RGB_VAD, KC_TRNS \
+ RESET, RGB_RMOD, KC_NO,
+ RGB_HUD, RGB_VAD, KC_TRNS
)
};
diff --git a/keyboards/handwired/6macro/rules.mk b/keyboards/handwired/6macro/rules.mk
index a553c51d48..73fc9f4951 100644
--- a/keyboards/handwired/6macro/rules.mk
+++ b/keyboards/handwired/6macro/rules.mk
@@ -12,10 +12,7 @@ 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
+NKRO_ENABLE = yes # Enable N-Key Rollover
RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
RGB_MATRIX_DRIVER = WS2812
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
diff --git a/keyboards/handwired/sticc14/keymaps/default/config.h b/keyboards/handwired/aball/aball.c
index 0d34db1407..3f12243ac6 100644
--- a/keyboards/handwired/sticc14/keymaps/default/config.h
+++ b/keyboards/handwired/aball/aball.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 ErkHal
+/* Copyright 2020 Richard Sutherland
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,6 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#pragma once
-
-// place overrides here
+#include "aball.h"
diff --git a/keyboards/handwired/aball/aball.h b/keyboards/handwired/aball/aball.h
new file mode 100644
index 0000000000..d6cb21bafc
--- /dev/null
+++ b/keyboards/handwired/aball/aball.h
@@ -0,0 +1,21 @@
+/* Copyright 2020 Richard Sutherland
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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) {{ k00 }}
diff --git a/keyboards/handwired/aball/config.h b/keyboards/handwired/aball/config.h
new file mode 100644
index 0000000000..33a6cd2a97
--- /dev/null
+++ b/keyboards/handwired/aball/config.h
@@ -0,0 +1,36 @@
+/*
+Copyright 2020 Richard Sutherland
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have 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 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
+
+#define DIRECT_PINS {{NO_PIN}}
+
+#define ADNS9800_CS_PIN F7
+#define POINTING_DEVICE_INVERT_X
diff --git a/keyboards/handwired/aball/info.json b/keyboards/handwired/aball/info.json
new file mode 100644
index 0000000000..c8afff6a2b
--- /dev/null
+++ b/keyboards/handwired/aball/info.json
@@ -0,0 +1,12 @@
+{
+ "keyboard_name": "aball",
+ "url": "https://github.com/brickbots/aball/",
+ "maintainer": "@brickbots",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/aball/keymaps/default/keymap.c b/keyboards/handwired/aball/keymaps/default/keymap.c
new file mode 100644
index 0000000000..122112c7c8
--- /dev/null
+++ b/keyboards/handwired/aball/keymaps/default/keymap.c
@@ -0,0 +1,19 @@
+/* Copyright 2020 Richard Sutherland
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+// Dummy
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{ KC_NO }}};
diff --git a/keyboards/handwired/aball/readme.md b/keyboards/handwired/aball/readme.md
new file mode 100644
index 0000000000..96a62d8386
--- /dev/null
+++ b/keyboards/handwired/aball/readme.md
@@ -0,0 +1,14 @@
+# ABall
+
+Your keyboard has plenty of buttons, why do you need more on your pointing device? ABall is a buttonless trackball designed to
+fit nicely next to a kyria, or other keyboard which serves as the mouse buttons. For my use I have left, middle and right mouse
+buttons on a layer along with keys for scroll up and down which I operate with my left hand while my right hand uses the ball for pointing.
+
+* Keyboard Maintainer: [Richard Sutherland](https://github.com/brickbots)
+* Special thanks to the Oddball for doing the heavy lifing with ADNS suport: [atulloh.github.io/oddball](https://atulloh.github.io/oddball)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/aball: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/handwired/aball/rules.mk b/keyboards/handwired/aball/rules.mk
new file mode 100644
index 0000000000..9063957737
--- /dev/null
+++ b/keyboards/handwired/aball/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 = 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
+
+# Add trackball support
+POINTING_DEVICE_ENABLE = yes
+POINTING_DEVICE_DRIVER = adns9800
diff --git a/keyboards/handwired/aek64/rules.mk b/keyboards/handwired/aek64/rules.mk
index 78665308ac..03ca07fc44 100644
--- a/keyboards/handwired/aek64/rules.mk
+++ b/keyboards/handwired/aek64/rules.mk
@@ -5,15 +5,13 @@ MCU = at90usb1286
BOOTLOADER = halfkay
# Build Options
-# change to no to disable the 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = no # USB Nkey Rollover - not yet supported in LUFA
UNICODE_ENABLE = yes # Enable support for arrow keys icon on the second layer.
-NKRO_ENABLE = yes
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes
diff --git a/keyboards/handwired/aim65/rules.mk b/keyboards/handwired/aim65/rules.mk
index c1149216c2..515ca5621f 100644
--- a/keyboards/handwired/aim65/rules.mk
+++ b/keyboards/handwired/aim65/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/amigopunk/rules.mk b/keyboards/handwired/amigopunk/rules.mk
index 04e5a24644..be51253065 100644
--- a/keyboards/handwired/amigopunk/rules.mk
+++ b/keyboards/handwired/amigopunk/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/angel/rules.mk b/keyboards/handwired/angel/rules.mk
index 9578124554..7dae3a8423 100644
--- a/keyboards/handwired/angel/rules.mk
+++ b/keyboards/handwired/angel/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/aplx2/rules.mk b/keyboards/handwired/aplx2/rules.mk
index 85d74856dc..ae1cce7c8d 100644
--- a/keyboards/handwired/aplx2/rules.mk
+++ b/keyboards/handwired/aplx2/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/aranck/rules.mk b/keyboards/handwired/aranck/rules.mk
index cce68f22f4..515bc2f8e4 100644
--- a/keyboards/handwired/aranck/rules.mk
+++ b/keyboards/handwired/aranck/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/arrow_pad/keymaps/default/keymap.c b/keyboards/handwired/arrow_pad/keymaps/default/keymap.c
index dd729c59a1..caee60d6ae 100644
--- a/keyboards/handwired/arrow_pad/keymaps/default/keymap.c
+++ b/keyboards/handwired/arrow_pad/keymaps/default/keymap.c
@@ -27,28 +27,28 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[LAYER_BASE] = LAYOUT( \
- KC_ESC, KC_TAB, KC_BSLS, MO(2), \
- KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
- KC_P7, KC_P8, KC_P9, KC_PEQL, \
- KC_P4, KC_P5, KC_P6, KC_PPLS, \
- KC_P1, KC_P2, KC_P3, XXXXXXX, \
+[LAYER_BASE] = LAYOUT(
+ KC_ESC, KC_TAB, KC_BSLS, MO(2),
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9, KC_PEQL,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, XXXXXXX,
KC_P0, KC_PCMM, KC_PDOT, KC_PENT ),
-[LAYER_EDIT] = LAYOUT( \
- KC_ESC, KC_TAB, KC_SPC, _______, \
- TG(1), SC_PSTE, SC_REDO, SC_UNDO, \
- KC_HOME, KC_UP, KC_PGUP, KC_LALT, \
- KC_LEFT, M_COPY, KC_RGHT, KC_LCTL, \
- KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \
+[LAYER_EDIT] = LAYOUT(
+ KC_ESC, KC_TAB, KC_SPC, _______,
+ TG(1), SC_PSTE, SC_REDO, SC_UNDO,
+ KC_HOME, KC_UP, KC_PGUP, KC_LALT,
+ KC_LEFT, M_COPY, KC_RGHT, KC_LCTL,
+ KC_END, KC_DOWN, KC_PGDN, XXXXXXX,
KC_BSPC, KC_PENT, KC_DEL, M_SHFCT ),
-[LAYER_FUNCTION] = LAYOUT( \
- BL_TOGG, BL_INC, BL_DEC, _______, \
- TG(1), _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, XXXXXXX, \
+[LAYER_FUNCTION] = LAYOUT(
+ BL_TOGG, BL_INC, BL_DEC, _______,
+ TG(1), _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, XXXXXXX,
RESET, _______, _______, _______ ),
};
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c b/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
index 1692976357..8bb833b21d 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
@@ -27,28 +27,28 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[LAYER_BASE] = LAYOUT_pad21( \
- KC_ESC, KC_TAB, KC_BSLS, MO(2), \
- 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, \
+[LAYER_BASE] = LAYOUT_pad21(
+ KC_ESC, KC_TAB, KC_BSLS, MO(2),
+ 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 ),
-[LAYER_EDIT] = LAYOUT_pad21( \
- KC_ESC, KC_TAB, KC_SPC, _______, \
- TG(1), SC_PSTE, SC_REDO, SC_UNDO, \
- KC_HOME, KC_UP, KC_PGUP, \
- KC_LEFT, M_COPY, KC_RGHT, M_CTALT, \
- KC_END, KC_DOWN, KC_PGDN, \
+[LAYER_EDIT] = LAYOUT_pad21(
+ KC_ESC, KC_TAB, KC_SPC, _______,
+ TG(1), SC_PSTE, SC_REDO, SC_UNDO,
+ KC_HOME, KC_UP, KC_PGUP,
+ KC_LEFT, M_COPY, KC_RGHT, M_CTALT,
+ KC_END, KC_DOWN, KC_PGDN,
KC_BSPC, KC_DEL, M_SHFCT),
-[LAYER_FUNCTION] = LAYOUT_pad21( \
- BL_TOGG, BL_INC, BL_DEC, _______, \
- TG(1), _______, _______, _______, \
- _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, \
+[LAYER_FUNCTION] = LAYOUT_pad21(
+ BL_TOGG, BL_INC, BL_DEC, _______,
+ TG(1), _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
RESET, _______, _______ ),
};
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
index 8cc765c7a5..6fae940a50 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
@@ -3,7 +3,7 @@ MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # 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
+NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
@@ -11,7 +11,4 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c b/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
index dd729c59a1..caee60d6ae 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
@@ -27,28 +27,28 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[LAYER_BASE] = LAYOUT( \
- KC_ESC, KC_TAB, KC_BSLS, MO(2), \
- KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \
- KC_P7, KC_P8, KC_P9, KC_PEQL, \
- KC_P4, KC_P5, KC_P6, KC_PPLS, \
- KC_P1, KC_P2, KC_P3, XXXXXXX, \
+[LAYER_BASE] = LAYOUT(
+ KC_ESC, KC_TAB, KC_BSLS, MO(2),
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9, KC_PEQL,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, XXXXXXX,
KC_P0, KC_PCMM, KC_PDOT, KC_PENT ),
-[LAYER_EDIT] = LAYOUT( \
- KC_ESC, KC_TAB, KC_SPC, _______, \
- TG(1), SC_PSTE, SC_REDO, SC_UNDO, \
- KC_HOME, KC_UP, KC_PGUP, KC_LALT, \
- KC_LEFT, M_COPY, KC_RGHT, KC_LCTL, \
- KC_END, KC_DOWN, KC_PGDN, XXXXXXX, \
+[LAYER_EDIT] = LAYOUT(
+ KC_ESC, KC_TAB, KC_SPC, _______,
+ TG(1), SC_PSTE, SC_REDO, SC_UNDO,
+ KC_HOME, KC_UP, KC_PGUP, KC_LALT,
+ KC_LEFT, M_COPY, KC_RGHT, KC_LCTL,
+ KC_END, KC_DOWN, KC_PGDN, XXXXXXX,
KC_BSPC, KC_PENT, KC_DEL, M_SHFCT ),
-[LAYER_FUNCTION] = LAYOUT( \
- BL_TOGG, BL_INC, BL_DEC, _______, \
- TG(1), _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, XXXXXXX, \
+[LAYER_FUNCTION] = LAYOUT(
+ BL_TOGG, BL_INC, BL_DEC, _______,
+ TG(1), _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, XXXXXXX,
RESET, _______, _______, _______ ),
};
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
index c849339dee..1cf01b79e4 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
@@ -3,7 +3,7 @@ MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # 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
+NKRO_ENABLE = yes
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
@@ -11,7 +11,4 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/handwired/arrow_pad/rules.mk b/keyboards/handwired/arrow_pad/rules.mk
index 09b448f271..a58b7669ff 100644
--- a/keyboards/handwired/arrow_pad/rules.mk
+++ b/keyboards/handwired/arrow_pad/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
index 0122455167..49a53cfe21 100644
--- a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
+++ b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
@@ -38,6 +38,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2)
),
+/* Colemak-DHm
+ * ,-----------------------------------------| |-----------------------------------------.
+ * | Esc | Q | W | F | P | B | | J | L | U | Y | ;: | Bksp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | A | R | S | T | G | | M | N | E | I | O | Enter|
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shft | Z | X | C | D | V | | K | H | ,< | .> | /? | Shft |
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Raise | Shift| MENU | Ctrl | Fn2 |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT(
+ LT(_NUMPAD, KC_ESC), KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC ,
+ MT(MOD_LSFT, KC_TAB), KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, MT(MOD_RSFT, KC_ENT) ,
+ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,
+ MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2)
+),
+
/* Function
* ,------------------------------------------ |-----------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
@@ -93,20 +111,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Adjust (Lower + Raise)
- * ,------------------------------------------ |-----------------------------------------.
- * | ???? | Reset|Qwerty| | | REC1 | | REC2 | | | | | Del |
- * |------+------+------+------+------+------- |------+------+------+------+------+------|
- * | CAPS | | | | | PLAY1| | PLAY2| Mute | Vol+ | Play | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | PC/MC| | | | | STOP | | STOP | Prev | Vol- | Next | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
+ * ,------------------------------------------ |------------------------------------------.
+ * | ???? | Reset|Qwerty| | | REC1 | | REC2 | | | | | Del |
+ * |------+------+------+------+------+------- |------+------+------+------+------+-------|
+ * | CAPS | | | | | PLAY1| | PLAY2| Mute | Vol+ | Play | |Qwerty |
+ * |------+------+------+------+------+------| |------+------+------+------+------+-------|
+ * | PC/MC| | | | | STOP | | STOP | Prev | Vol- | Next | |Colemak|
+ * |------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
+ * | | | | | | | | | | | | | | |
+ * `--------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT(
M_CUSTOM, RESET, 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, _______, _______ ,
- TG(_MAC), _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,
+ 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/ajp10304/readme.md b/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md
index 640bcc46f6..6ba052065d 100644
--- a/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md
+++ b/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md
@@ -22,6 +22,16 @@ Refer to the README.md of the keyboard you want to flash.
| Shft | Z | X | C | V | B | | | N | M | ,< | .> | /? | Shft |
| Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Raise | Shift| MENU | Ctrl | Fn2 |
+##### Main Colemak-DHm Layer
+
+| | | | | | | | | | | | | | |
+| ---- |:----:| :---:|:---:|:-----:|:----:| :---:| :---:|:-----:|:-----:|:-----:|:----:|:----:| ----:|
+| Esc | Q | W | F | P | B | | | J | L | U | Y | ;: | Bksp |
+| Tab | A | R | S | T | G | | | M | N | E | I | O | Enter|
+| Shft | Z | X | C | D | V | | | K | H | ,< | .> | /? | Shft |
+| Fn | Ctrl | Alt | GUI | Lower | Bksp | Ctrl | Alt | Space | Raise | Shift | MENU | Ctrl | Fn2 |
+
+
##### Function Layer
Activated when `fn` held in the above `qwerty` layer.
@@ -73,12 +83,12 @@ To finish the recording, press STOP. To replay the macro, press either PLAY1 or
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively.
-| | | | | | | | | | | | | | |
-| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
-| ???? | Reset|Qwerty| | | REC1 | | | REC2 | | | | | Del |
-| CAPS | | | | | PLAY1| | |PLAY2 | Mute | Vol+ | Play | | |
-| MAC | | | | | STOP1| | |STOP2 | Prev | Vol- | Next | | |
-| | | | | | | Ctrl | Alt | | | DYN | | | |
+| | | | | | | | | | | | | | |
+| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|:-------:|
+| ???? | Reset|Qwerty| | | REC1 | | | REC2 | | | | | Del |
+| CAPS | | | | | PLAY1| | |PLAY2 | Mute | Vol+ | Play | | Qwerty |
+| MAC | | | | | STOP1| | |STOP2 | Prev | Vol- | Next | | Colemak |
+| | | | | | | Ctrl | Alt | | | DYN | | | |
##### Function 2 Layer
Activated when `fn` held in the above `qwerty` layer.
diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c
index 97b90a6db6..7b18dd5789 100644
--- a/keyboards/handwired/atreus50/keymaps/default/keymap.c
+++ b/keyboards/handwired/atreus50/keymaps/default/keymap.c
@@ -82,11 +82,11 @@ 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, _______, KC_DEL, \
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ [_ADJUST] = LAYOUT(
+ _______, RESET, 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, _______, _______,
+ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/atreus50/rules.mk b/keyboards/handwired/atreus50/rules.mk
index de0d28fc02..4b2ea2d581 100644
--- a/keyboards/handwired/atreus50/rules.mk
+++ b/keyboards/handwired/atreus50/rules.mk
@@ -5,18 +5,14 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+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.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/axon/rules.mk b/keyboards/handwired/axon/rules.mk
index 2057d9c939..d1dde8af62 100644
--- a/keyboards/handwired/axon/rules.mk
+++ b/keyboards/handwired/axon/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/baredev/rev1/config.h b/keyboards/handwired/baredev/rev1/config.h
new file mode 100644
index 0000000000..f3d36fd08b
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/config.h
@@ -0,0 +1,25 @@
+/*
+Copyright 2021 Fernando "ManoShu" 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 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have 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"
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
diff --git a/keyboards/handwired/baredev/rev1/info.json b/keyboards/handwired/baredev/rev1/info.json
new file mode 100644
index 0000000000..601b5df128
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/info.json
@@ -0,0 +1,706 @@
+{
+ "manufacturer": "Fernando \"ManoShu\" Rodrigues",
+ "keyboard_name": "BareDev (rev1)",
+ "url": "https://github.com/ManoShu/BareDev",
+ "maintainer": "ManoShu",
+ "debounce": 5,
+ "diode_direction": "COL2ROW",
+ "tapping": {
+ "term": 175
+ },
+ "matrix_pins": {
+ "unused": [
+ "F1",
+ "F4",
+ "F5",
+ "F6",
+ "F7"
+ ],
+ "cols": [
+ "B6",
+ "B7",
+ "C6",
+ "C7",
+ "D0",
+ "D1",
+ "D2",
+ "D3",
+ "D4",
+ "D5",
+ "D6",
+ "D7",
+ "E6",
+ "F0"
+ ],
+ "rows": [
+ "B0",
+ "B1",
+ "B2",
+ "B3",
+ "B4",
+ "B5"
+ ]
+ },
+ "usb": {
+ "vid": "0x1209",
+ "pid": "0x4126",
+ "device_ver": "0x0001",
+ "polling_interval": 1,
+ "shared_endpoint": {
+ "keyboard": true
+ }
+ },
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+ "features": {
+ "audio": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "midi": false,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": false,
+ "unicode": false,
+ "bluetooth": false,
+ "backlight": false,
+ "sleep_led": false
+ },
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_abnt2"
+ },
+ "layouts": {
+ "LAYOUT_abnt2": {
+ "layout": [
+ {
+ "matrix": [
+ 0,
+ 0
+ ],
+ "x": 0,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 2
+ ],
+ "x": 2,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 3
+ ],
+ "x": 3,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 4
+ ],
+ "x": 4,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 5
+ ],
+ "x": 5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 6
+ ],
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 7
+ ],
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 8
+ ],
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 9
+ ],
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 10
+ ],
+ "x": 11,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 11
+ ],
+ "x": 12,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 12
+ ],
+ "x": 13,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 0,
+ 13
+ ],
+ "x": 14,
+ "y": 0
+ },
+ {
+ "matrix": [
+ 1,
+ 0
+ ],
+ "x": 0,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 1
+ ],
+ "x": 1,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 2
+ ],
+ "x": 2,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 3
+ ],
+ "x": 3,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 4
+ ],
+ "x": 4,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 5
+ ],
+ "x": 5,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 6
+ ],
+ "x": 6,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 7
+ ],
+ "x": 7,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 8
+ ],
+ "x": 8,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 9
+ ],
+ "x": 9,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 10
+ ],
+ "x": 10,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 11
+ ],
+ "x": 11,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 12
+ ],
+ "x": 12,
+ "y": 1.25
+ },
+ {
+ "matrix": [
+ 1,
+ 13
+ ],
+ "x": 13,
+ "y": 1.25,
+ "w": 2
+ },
+ {
+ "matrix": [
+ 2,
+ 0
+ ],
+ "x": 0,
+ "y": 2.25,
+ "w": 1.5
+ },
+ {
+ "matrix": [
+ 2,
+ 1
+ ],
+ "x": 1.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 2
+ ],
+ "x": 2.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 3
+ ],
+ "x": 3.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 4
+ ],
+ "x": 4.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 5
+ ],
+ "x": 5.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 6
+ ],
+ "x": 6.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 7
+ ],
+ "x": 7.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 8
+ ],
+ "x": 8.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 9
+ ],
+ "x": 9.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 10
+ ],
+ "x": 10.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 11
+ ],
+ "x": 11.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 12
+ ],
+ "x": 12.5,
+ "y": 2.25
+ },
+ {
+ "matrix": [
+ 2,
+ 13
+ ],
+ "x": 13.75,
+ "y": 2.25,
+ "w": 1.25,
+ "h": 2
+ },
+ {
+ "matrix": [
+ 3,
+ 0
+ ],
+ "x": 0,
+ "y": 3.25,
+ "w": 1.75
+ },
+ {
+ "matrix": [
+ 3,
+ 1
+ ],
+ "x": 1.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 2
+ ],
+ "x": 2.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 3
+ ],
+ "x": 3.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 4
+ ],
+ "x": 4.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 5
+ ],
+ "x": 5.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 6
+ ],
+ "x": 6.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 7
+ ],
+ "x": 7.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 8
+ ],
+ "x": 8.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 9
+ ],
+ "x": 9.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 10
+ ],
+ "x": 10.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 11
+ ],
+ "x": 11.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 3,
+ 12
+ ],
+ "x": 12.75,
+ "y": 3.25
+ },
+ {
+ "matrix": [
+ 4,
+ 0
+ ],
+ "x": 0,
+ "y": 4.25,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 4,
+ 1
+ ],
+ "x": 1.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 2
+ ],
+ "x": 2.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 3
+ ],
+ "x": 3.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 4
+ ],
+ "x": 4.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 5
+ ],
+ "x": 5.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 6
+ ],
+ "x": 6.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 7
+ ],
+ "x": 7.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 8
+ ],
+ "x": 8.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 9
+ ],
+ "x": 9.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 10
+ ],
+ "x": 10.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 11
+ ],
+ "x": 11.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 12
+ ],
+ "x": 12.25,
+ "y": 4.25
+ },
+ {
+ "matrix": [
+ 4,
+ 13
+ ],
+ "x": 13.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,
+ 9
+ ],
+ "x": 10,
+ "y": 5.25,
+ "w": 1.25
+ },
+ {
+ "matrix": [
+ 5,
+ 10
+ ],
+ "x": 11.25,
+ "y": 5.25
+ },
+ {
+ "matrix": [
+ 5,
+ 11
+ ],
+ "x": 12.25,
+ "y": 5.25
+ },
+ {
+ "matrix": [
+ 5,
+ 12
+ ],
+ "x": 13.25,
+ "y": 5.25
+ },
+ {
+ "matrix": [
+ 5,
+ 13
+ ],
+ "x": 14.25,
+ "y": 5.25
+ }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..6efed6ac1a
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/keymaps/default/keymap.c
@@ -0,0 +1,56 @@
+/* Copyright 2021 Fernando "ManoShu" 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 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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_br_abnt2.h"
+
+enum {
+ LAYER_BASE,
+ LAYER_FUNCTIONS
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_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,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ BR_QUOT, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7, BR_8, BR_9, BR_0, BR_MINS, BR_EQL, KC_BSPC,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ KC_TAB, BR_Q, BR_W, BR_E, BR_R, BR_T, BR_Y, BR_U, BR_I, BR_O, BR_P, BR_ACUT, BR_LBRC, KC_ENT,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ KC_CAPS, BR_A, BR_S, BR_D, BR_F, BR_G, BR_H, BR_J, BR_K, BR_L, BR_CCED, BR_TILD, BR_RBRC,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ KC_LSFT, BR_BSLS, BR_Z, BR_X, BR_C, BR_V, BR_B, BR_N, BR_M, BR_COMM, BR_DOT, BR_SCLN, BR_SLSH, KC_UP,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ KC_LCTL, KC_LGUI, KC_LALT, LT(LAYER_FUNCTIONS,KC_SPC), KC_APP, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ ),
+ [LAYER_FUNCTIONS] = LAYOUT(
+ /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ _______, KC_MPLY, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ _______, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ _______, _______, KC_VOLU, KC_VOLD, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGDN, KC_END
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ )
+}; \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/keymaps/default/readme.md b/keyboards/handwired/baredev/rev1/keymaps/default/readme.md
new file mode 100644
index 0000000000..6e8c07ad83
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/keymaps/default/readme.md
@@ -0,0 +1,7 @@
+![BareDev Layout Image](https://i.imgur.com/uP8Jzvi.png)
+
+# Default BareDev layout
+
+Has all the functions of a ABNT TKL keyboard, sans right shift.
+
+Basic media functions also included. \ 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
new file mode 100644
index 0000000000..4bbf4c2cbc
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/keymaps/manoshu/keymap.c
@@ -0,0 +1,99 @@
+/* Copyright 2021 Fernando "ManoShu" 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 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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_br_abnt2.h"
+#include "sendstring_br_abnt2.h"
+
+enum {
+ LAYER_BASE,
+ LAYER_FUNCTIONS
+};
+
+#define L_FUNCT MO(LAYER_FUNCTIONS)
+#define W_CHOLD LGUI_T(KC_CAPS)
+
+//Combination keycodes
+#define KC_PSBR C(KC_PAUSE) // Ctrl+Pause/Break
+#define KC_SNIP SGUI(BR_S) // Screen Snip (GUI + Shift + S)
+#define KC_WRUN G(BR_R) // Run (GUI + R)
+#define KC_WLCK G(BR_L) // Lock (GUI + L)
+#define KC_WDSK G(BR_D) // Desktop (GUI + D)
+#define KC_WEXP G(BR_E) // Explorer (GUI + E)
+#define KC_WPSE G(KC_PAUSE) // System Properties (GUI + Pause)
+#define KC_WMGP G(BR_EQL) // Magnify (+)
+#define KC_WMGM G(BR_MINS) // Magnify (-)
+
+enum custom_keycodes {
+ KC_WPRN = SAFE_RANGE, // Project (P)
+ KC_WSPC // Input Select (Space)
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ if (get_highest_layer(state) == LAYER_BASE) {
+ unregister_mods(MOD_MASK_GUI);
+ }
+ return state;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if(keycode == KC_WPRN || keycode == KC_WSPC) {
+ if (record->event.pressed) {
+
+ register_code(KC_LGUI);
+
+ if(keycode == KC_WPRN) {
+ tap_code(KC_P);
+ } else if (keycode == KC_WSPC) {
+ tap_code(KC_SPACE);
+ }
+ }
+ }
+ return true;
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_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,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ BR_QUOT, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7, BR_8, BR_9, BR_0, BR_MINS, BR_EQL, KC_BSPC,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ KC_TAB, BR_Q, BR_W, BR_E, BR_R, BR_T, BR_Y, BR_U, BR_I, BR_O, BR_P, BR_ACUT, BR_LBRC, KC_ENT,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ W_CHOLD, BR_A, BR_S, BR_D, BR_F, BR_G, BR_H, BR_J, BR_K, BR_L, BR_CCED, BR_TILD, BR_RBRC,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ KC_LSFT, BR_BSLS, BR_Z, BR_X, BR_C, BR_V, BR_B, BR_N, BR_M, BR_COMM, BR_DOT, BR_SCLN, BR_SLSH, KC_UP,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ KC_LCTL, L_FUNCT, KC_LALT, KC_SPC, KC_APP, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ ),
+ [LAYER_FUNCTIONS] = LAYOUT(
+ /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSBR, KC_SNIP,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WMGM, KC_WMGP, _______,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ _______, KC_MPLY, KC_MUTE, KC_WEXP, KC_WRUN, _______, _______, _______, _______, _______, KC_WPRN, _______, _______, _______,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ _______, KC_MPRV, KC_MNXT, KC_WDSK, _______, _______, _______, _______, _______, KC_WLCK, _______, _______, _______,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ _______, _______, KC_VOLU, KC_VOLD, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ _______, _______, _______, KC_WSPC, _______, KC_INS, KC_HOME, KC_PGDN, KC_END
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ )
+}; \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md b/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
new file mode 100644
index 0000000000..1852a0fbc2
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/keymaps/manoshu/readme.md
@@ -0,0 +1,16 @@
+![BareDev Layout Image](https://i.imgur.com/FXye4Hn.png)
+
+# ManoShu's custom layout
+
+Has all the functions of a ABNT TKL keyboard, sans right shift.
+
+Basic media functions also included.
+
+Trying to emulate where notebooks/smaller OEM keyboard put the function key, for this reason the GUI key was moved and it can be used by holding the Caps Lock key.
+
+To not use the new GUI position very often, commonly used GUI + [X] commands are sent using `SEND_STRING()`, `(un)register_code()` and `tap_code()`.
+
+## Why you didn't used `LT(FUNCTIONS, KC_LGUI)` on the GUI/FN key?
+Because I don't want rely on the tapping term to determine I will send either KC_HOME or snap the active window to the left.
+
+If there is a better way to solve this, please let me know. \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c b/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..a7b127f089
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/keymaps/via/keymap.c
@@ -0,0 +1,88 @@
+/* Copyright 2021 Fernando "ManoShu" 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 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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_br_abnt2.h"
+
+enum {
+ LAYER_BASE,
+ LAYER_FUNCTIONS,
+ BLANK_LAYER1,
+ BLANK_LAYER2
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_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,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ BR_QUOT, BR_1, BR_2, BR_3, BR_4, BR_5, BR_6, BR_7, BR_8, BR_9, BR_0, BR_MINS, BR_EQL, KC_BSPC,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ KC_TAB, BR_Q, BR_W, BR_E, BR_R, BR_T, BR_Y, BR_U, BR_I, BR_O, BR_P, BR_ACUT, BR_LBRC, KC_ENT,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ KC_CAPS, BR_A, BR_S, BR_D, BR_F, BR_G, BR_H, BR_J, BR_K, BR_L, BR_CCED, BR_TILD, BR_RBRC,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ KC_LSFT, BR_BSLS, BR_Z, BR_X, BR_C, BR_V, BR_B, BR_N, BR_M, BR_COMM, BR_DOT, BR_SCLN, BR_SLSH, KC_UP,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ KC_LCTL, KC_LGUI, KC_LALT, LT(LAYER_FUNCTIONS, KC_SPC), KC_APP, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ ),
+ [LAYER_FUNCTIONS] = LAYOUT(
+ /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ _______, KC_MPLY, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ _______, KC_MPRV, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ _______, _______, KC_VOLU, KC_VOLD, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGDN, KC_END
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ ),
+ [BLANK_LAYER1] = LAYOUT(
+ /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ ),
+ [BLANK_LAYER2] = LAYOUT(
+ /* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ /* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴───────┬─┴───────┬─┴───────┬─────────┼─────────┤ */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ /* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */
+ )
+}; \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/keymaps/via/rules.mk b/keyboards/handwired/baredev/rev1/keymaps/via/rules.mk
new file mode 100644
index 0000000000..084cd1bd08
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+
+LEADER_ENABLE = no
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/readme.md b/keyboards/handwired/baredev/rev1/readme.md
new file mode 100644
index 0000000000..3f852f2bc6
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/readme.md
@@ -0,0 +1,29 @@
+# BareDev (rev1)
+
+![PCB](https://i.imgur.com/byquO5u.png)
+![Prototype Build](https://i.imgur.com/fkizunN.png)
+
+An open-source, ABNT2-based 70% keyboard, focusing in a smaller footprint while retaining all the functions found on a TKL (Del and arrow keys doubling as the navigational cluster)
+
+* Keyboard Maintainer: [Fernando "ManoShu" Rodrigues](https://github.com/ManoShu)
+* Hardware Supported: BareDev rev1 PCB
+* Hardware Availability: Files available on [GitHub](https://github.com/ManoShu/BareDev)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/baredev/rev1:default
+
+Flashing example for this keyboard:
+
+ make handwired/baredev/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 (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
diff --git a/keyboards/handwired/slash/keymaps/default/config.h b/keyboards/handwired/baredev/rev1/rev1.c
index 05a8d25b91..809138c9b2 100644
--- a/keyboards/handwired/slash/keymaps/default/config.h
+++ b/keyboards/handwired/baredev/rev1/rev1.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 4sdftemp
+/* Copyright 2021 Fernando "ManoShu" 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
@@ -14,6 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#pragma once
-
-// place overrides here
+#include "rev1.h"
diff --git a/keyboards/handwired/fruity60/keymaps/default/config.h b/keyboards/handwired/baredev/rev1/rev1.h
index 7d7844ac61..62a4829060 100644
--- a/keyboards/handwired/fruity60/keymaps/default/config.h
+++ b/keyboards/handwired/baredev/rev1/rev1.h
@@ -1,4 +1,4 @@
-/* Copyright 2019 Yan-Fa Li
+/* Copyright 2021 Fernando "ManoShu" 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
@@ -16,4 +16,4 @@
#pragma once
-// place overrides here
+#include "quantum.h" \ No newline at end of file
diff --git a/keyboards/handwired/baredev/rev1/rules.mk b/keyboards/handwired/baredev/rev1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/handwired/baredev/rev1/rules.mk
diff --git a/keyboards/handwired/battleship_gamepad/rules.mk b/keyboards/handwired/battleship_gamepad/rules.mk
index df6e244b7d..a7a44c3988 100644
--- a/keyboards/handwired/battleship_gamepad/rules.mk
+++ b/keyboards/handwired/battleship_gamepad/rules.mk
@@ -14,10 +14,7 @@ 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
+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/handwired/bdn9_ble/rules.mk b/keyboards/handwired/bdn9_ble/rules.mk
index 79dba772f3..e5abbcfb88 100644
--- a/keyboards/handwired/bdn9_ble/rules.mk
+++ b/keyboards/handwired/bdn9_ble/rules.mk
@@ -15,10 +15,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/bento/rev1/rules.mk b/keyboards/handwired/bento/rev1/rules.mk
index 636812417c..83fe2fb087 100644
--- a/keyboards/handwired/bento/rev1/rules.mk
+++ b/keyboards/handwired/bento/rev1/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/bigmac/rules.mk b/keyboards/handwired/bigmac/rules.mk
index bcf7f652ec..354f194ca2 100644
--- a/keyboards/handwired/bigmac/rules.mk
+++ b/keyboards/handwired/bigmac/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/bolek/rules.mk b/keyboards/handwired/bolek/rules.mk
index c1149216c2..515ca5621f 100644
--- a/keyboards/handwired/bolek/rules.mk
+++ b/keyboards/handwired/bolek/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/boss566y/redragon_vara/rules.mk b/keyboards/handwired/boss566y/redragon_vara/rules.mk
index 9f4b29f22e..15eff609b7 100644
--- a/keyboards/handwired/boss566y/redragon_vara/rules.mk
+++ b/keyboards/handwired/boss566y/redragon_vara/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/brain/rules.mk b/keyboards/handwired/brain/rules.mk
index a24edf27f8..d42aa82706 100644
--- a/keyboards/handwired/brain/rules.mk
+++ b/keyboards/handwired/brain/rules.mk
@@ -12,9 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE.it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+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/handwired/bstk100/bstk100.c b/keyboards/handwired/bstk100/bstk100.c
new file mode 100644
index 0000000000..004b97004b
--- /dev/null
+++ b/keyboards/handwired/bstk100/bstk100.c
@@ -0,0 +1,18 @@
+/* Copyright 2021 FREE WING,Y.Sakamoto
+ * http://www.neko.ne.jp/~freewing/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "bstk100.h"
diff --git a/keyboards/handwired/bstk100/bstk100.h b/keyboards/handwired/bstk100/bstk100.h
new file mode 100644
index 0000000000..42a6da437f
--- /dev/null
+++ b/keyboards/handwired/bstk100/bstk100.h
@@ -0,0 +1,43 @@
+/* Copyright 2021 FREE WING,Y.Sakamoto
+ * http://www.neko.ne.jp/~freewing/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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, \
+ k34, k03, k02, k13, \
+ k10, k11, k12, k01, \
+ k20, k21, k22, k23, \
+ k30, k31, k32, k33, \
+ k40, k41, k43 \
+) { \
+ { k00, k01, k02, k03, KC_NO }, \
+ { k10, k11, k12, k13, KC_NO }, \
+ { k20, k21, k22, k23, KC_NO }, \
+ { k30, k31, k32, k33, k34 }, \
+ { k40, k41, KC_NO, k43, KC_NO } \
+}
diff --git a/keyboards/handwired/bstk100/config.h b/keyboards/handwired/bstk100/config.h
new file mode 100644
index 0000000000..6769f9b5c0
--- /dev/null
+++ b/keyboards/handwired/bstk100/config.h
@@ -0,0 +1,156 @@
+/*
+Copyright 2021 FREE WING,Y.Sakamoto
+http://www.neko.ne.jp/~freewing/
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have 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 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
+
+/*
+ * 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 { B6, B2, B3, B1, F7 }
+#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
+#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
+
+// The state of the indicator pins when the LED is "on" - 1 for high
+#define LED_PIN_ON_STATE 0
+
+#define LED_NUM_LOCK_PIN D4
+#define LED_CAPS_LOCK_PIN D5
+#define LED_SCROLL_LOCK_PIN B0
+//#define LED_COMPOSE_PIN B3
+//#define LED_KANA_PIN B4
+
+//#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
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/bstk100/info.json b/keyboards/handwired/bstk100/info.json
new file mode 100644
index 0000000000..aec01fccc9
--- /dev/null
+++ b/keyboards/handwired/bstk100/info.json
@@ -0,0 +1,36 @@
+{
+ "keyboard_name": "bstk100",
+ "url": "http://www.neko.ne.jp/~freewing/",
+ "maintainer": "FREE WING",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "k00", "x": 0, "y": 0},
+
+ {"label": "k34", "x": 0, "y": 1},
+ {"label": "k03", "x": 1, "y": 1},
+ {"label": "k02", "x": 2, "y": 1},
+ {"label": "k13", "x": 3, "y": 1},
+
+ {"label": "k10", "x": 0, "y": 2},
+ {"label": "k11", "x": 1, "y": 2},
+ {"label": "k12", "x": 2, "y": 2},
+ {"label": "k01", "x": 3, "y": 2},
+
+ {"label": "k20", "x": 0, "y": 3},
+ {"label": "k21", "x": 1, "y": 3},
+ {"label": "k22", "x": 2, "y": 3},
+ {"label": "k23", "x": 3, "y": 3},
+
+ {"label": "k30", "x": 0, "y": 4},
+ {"label": "k31", "x": 1, "y": 4},
+ {"label": "k32", "x": 2, "y": 4},
+ {"label": "k33", "x": 3, "y": 4, "h": 2},
+
+ {"label": "k40", "x": 0, "y": 5},
+ {"label": "k41", "x": 1, "y": 5},
+ {"label": "k43", "x": 2, "y": 5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/bstk100/keymaps/default/keymap.c b/keyboards/handwired/bstk100/keymaps/default/keymap.c
new file mode 100644
index 0000000000..474921eeab
--- /dev/null
+++ b/keyboards/handwired/bstk100/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2021 FREE WING,Y.Sakamoto
+ * http://www.neko.ne.jp/~freewing/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ QMK00 = SAFE_RANGE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ KC_NLCK,
+ KC_TAB, KC_PSLS, KC_PAST, KC_BSPC,
+ KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, QMK00, KC_PDOT
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QMK00:
+ if (record->event.pressed) {
+ // when keycode QMK00 is pressed
+ SEND_STRING(SS_TAP(X_KP_0) SS_TAP(X_KP_0));
+ } else {
+ // when keycode QMK00 is released
+ }
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/handwired/bstk100/keymaps/default/readme.md b/keyboards/handwired/bstk100/keymaps/default/readme.md
new file mode 100644
index 0000000000..15f86c185e
--- /dev/null
+++ b/keyboards/handwired/bstk100/keymaps/default/readme.md
@@ -0,0 +1,26 @@
+# The default keymap for bstk100
+
+```
+ (LED)
+ +----+
+ +NumL+
+ +----+
+
++----+----+----+----+
+|Tab | / | * |Back|
+| | | | Spc|
++----+----+----+----+
+|7 |8 |9 |- |
+|Home|Up |PgUp| |
++----+----+----+----+
+|4 |5 |6 |+ |
+|Left| |Righ| |
++----+----+----+----+
+|1 |2 |3 | |
+| End|Down|PgDn|Ent |
++----+----+----| |
+|0 |00 |. | |
+| Ins| | Del| |
++----+----+----+----+
+```
+
diff --git a/keyboards/handwired/bstk100/keymaps/via/keymap.c b/keyboards/handwired/bstk100/keymaps/via/keymap.c
new file mode 100644
index 0000000000..474921eeab
--- /dev/null
+++ b/keyboards/handwired/bstk100/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2021 FREE WING,Y.Sakamoto
+ * http://www.neko.ne.jp/~freewing/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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
+};
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ QMK00 = SAFE_RANGE
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [_BASE] = LAYOUT(
+ KC_NLCK,
+ KC_TAB, KC_PSLS, KC_PAST, KC_BSPC,
+ KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, QMK00, KC_PDOT
+ )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QMK00:
+ if (record->event.pressed) {
+ // when keycode QMK00 is pressed
+ SEND_STRING(SS_TAP(X_KP_0) SS_TAP(X_KP_0));
+ } else {
+ // when keycode QMK00 is released
+ }
+ break;
+ }
+ return true;
+}
diff --git a/keyboards/handwired/bstk100/keymaps/via/readme.md b/keyboards/handwired/bstk100/keymaps/via/readme.md
new file mode 100644
index 0000000000..15f86c185e
--- /dev/null
+++ b/keyboards/handwired/bstk100/keymaps/via/readme.md
@@ -0,0 +1,26 @@
+# The default keymap for bstk100
+
+```
+ (LED)
+ +----+
+ +NumL+
+ +----+
+
++----+----+----+----+
+|Tab | / | * |Back|
+| | | | Spc|
++----+----+----+----+
+|7 |8 |9 |- |
+|Home|Up |PgUp| |
++----+----+----+----+
+|4 |5 |6 |+ |
+|Left| |Righ| |
++----+----+----+----+
+|1 |2 |3 | |
+| End|Down|PgDn|Ent |
++----+----+----| |
+|0 |00 |. | |
+| Ins| | Del| |
++----+----+----+----+
+```
+
diff --git a/keyboards/handwired/bstk100/keymaps/via/rules.mk b/keyboards/handwired/bstk100/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/handwired/bstk100/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/handwired/bstk100/readme.md b/keyboards/handwired/bstk100/readme.md
new file mode 100644
index 0000000000..7247150c48
--- /dev/null
+++ b/keyboards/handwired/bstk100/readme.md
@@ -0,0 +1,35 @@
+# bstk100
+
+BUFFALO USB 10-Key keyboard BSTK100 modification by Pro Micro and QMK firmware .
+see [[FREE WING HOME PAGE]](http://www.neko.ne.jp/~freewing/) for more detail .
+
+![bstk100](https://i.imgur.com/9s5kxSB.jpeg)
+![bstk100](https://i.imgur.com/rsilkiy.jpeg)
+![bstk100](https://i.imgur.com/TuQlxat.jpeg)
+![bstk100](https://i.imgur.com/w0g6Qlz.jpeg)
+![bstk100](https://i.imgur.com/ORgbBQh.jpeg)
+![bstk100](https://i.imgur.com/1MDm3zt.png)
+
+* Keyboard Maintainer: [FREE WING GitHub](https://github.com/FREEWING-JP/qmk_firmware)
+* Hardware Supported: Pro Micro ATmega32U4 5V/16MHz
+* Hardware Availability: [BUFFALO USB 10-Key keyboard BSTK100BK](https://amzn.to/389GGtP), [Pro Micro ATmega32U4 5V/16MHz](https://amzn.to/3jePZPi)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/bstk100:default
+
+Enable VIA feature in QMK
+
+ make handwired/bstk100:via
+
+Flashing example for this keyboard:
+
+ make handwired/bstk100: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 one way:
+
+* **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/handwired/bstk100/rules.mk b/keyboards/handwired/bstk100/rules.mk
new file mode 100644
index 0000000000..1275531ef6
--- /dev/null
+++ b/keyboards/handwired/bstk100/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/handwired/cans12er/rules.mk b/keyboards/handwired/cans12er/rules.mk
index 32a2c4e5df..476cf49f27 100644
--- a/keyboards/handwired/cans12er/rules.mk
+++ b/keyboards/handwired/cans12er/rules.mk
@@ -5,17 +5,14 @@ MCU = atmega32u4
BOOTLOADER = atmel-dfu
# Build Options
-# comment out to disable the 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
+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/handwired/carpolly/carpolly.c b/keyboards/handwired/carpolly/carpolly.c
new file mode 100644
index 0000000000..119dfa962b
--- /dev/null
+++ b/keyboards/handwired/carpolly/carpolly.c
@@ -0,0 +1,20 @@
+/* Copyright 2021 Paul Enrico N. Viola
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "carpolly.h"
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/carpolly/carpolly.h b/keyboards/handwired/carpolly/carpolly.h
new file mode 100644
index 0000000000..ddcf98fcdb
--- /dev/null
+++ b/keyboards/handwired/carpolly/carpolly.h
@@ -0,0 +1,36 @@
+/* Copyright 2021 Paul Enrico N. Viola
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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, K05, K06, K07, K08, K09, K0A, K0B, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1C, \
+ K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
+ K30, K31, K32, K36, K3A, K3B, K3C \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, XXX }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, XXX, K1C }, \
+ { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
+ { K30, K31, K32, XXX, XXX, XXX, K36, XXX, XXX, XXX, K3A, K3B, K3C }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/carpolly/config.h b/keyboards/handwired/carpolly/config.h
new file mode 100644
index 0000000000..e0890cf7ac
--- /dev/null
+++ b/keyboards/handwired/carpolly/config.h
@@ -0,0 +1,49 @@
+/* Copyright 2021 Paul Enrico N. Viola
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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 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
+
+/*
+ * 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 { F0, F1, F4, F5, F6, B6, B5, B4, D7, D6, D4, D5, C7 }
+
+#define DIODE_DIRECTION COL2ROW
+
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/carpolly/info.json b/keyboards/handwired/carpolly/info.json
new file mode 100644
index 0000000000..7a7395e914
--- /dev/null
+++ b/keyboards/handwired/carpolly/info.json
@@ -0,0 +1,55 @@
+{
+ "keyboard_name": "Carpolly",
+ "url": "https://github.com/PollyV1",
+ "maintainer": "Paul Enrico N. Viola",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ { "label": "K00 (B0,F0)", "x": 0, "y": 0 },
+ { "label": "K01 (B0,F1)", "x": 1, "y": 0 },
+ { "label": "K02 (B0,F4)", "x": 2, "y": 0 },
+ { "label": "K03 (B0,F5)", "x": 3, "y": 0 },
+ { "label": "K04 (B0,F6)", "x": 4, "y": 0 },
+ { "label": "K05 (B0,B6)", "x": 5, "y": 0 },
+ { "label": "K06 (B0,B5)", "x": 6, "y": 0 },
+ { "label": "K07 (B0,B4)", "x": 7, "y": 0 },
+ { "label": "K08 (B0,D7)", "x": 8, "y": 0 },
+ { "label": "K09 (B0,D6)", "x": 9, "y": 0 },
+ { "label": "K0A (B0,D4)", "x": 10, "y": 0 },
+ { "label": "K0B (B0,D5)", "x": 11, "y": 0, "w": 1.75 },
+ { "label": "K10 (B1,F0)", "x": 0, "y": 1, "w": 1.25 },
+ { "label": "K11 (B1,F1)", "x": 1.25, "y": 1 },
+ { "label": "K12 (B1,F4)", "x": 2.25, "y": 1 },
+ { "label": "K13 (B1,F5)", "x": 3.25, "y": 1 },
+ { "label": "K14 (B1,F6)", "x": 4.25, "y": 1 },
+ { "label": "K15 (B1,B6)", "x": 5.25, "y": 1 },
+ { "label": "K16 (B1,B5)", "x": 6.25, "y": 1 },
+ { "label": "K17 (B1,B4)", "x": 7.25, "y": 1 },
+ { "label": "K18 (B1,D7)", "x": 8.25, "y": 1 },
+ { "label": "K19 (B1,D6)", "x": 9.25, "y": 1 },
+ { "label": "K1A (B1,D4)", "x": 10.25, "y": 1 },
+ { "label": "K1C (B1,C7)", "x": 11.25, "y": 1, "w": 1.5 },
+ { "label": "K20 (B2,F0)", "x": 0, "y": 2, "w": 1.75 },
+ { "label": "K22 (B2,F4)", "x": 1.75, "y": 2 },
+ { "label": "K23 (B2,F5)", "x": 2.75, "y": 2 },
+ { "label": "K24 (B2,F6)", "x": 3.75, "y": 2 },
+ { "label": "K25 (B2,B6)", "x": 4.75, "y": 2 },
+ { "label": "K26 (B2,B5)", "x": 5.75, "y": 2 },
+ { "label": "K27 (B2,B4)", "x": 6.75, "y": 2 },
+ { "label": "K28 (B2,D7)", "x": 7.75, "y": 2 },
+ { "label": "K29 (B2,D6)", "x": 8.75, "y": 2 },
+ { "label": "K2A (B2,D4)", "x": 9.75, "y": 2 },
+ { "label": "K2B (B2,D5)", "x": 10.75, "y": 2 },
+ { "label": "K2C (B2,C7)", "x": 11.75, "y": 2 },
+ { "label": "K30 (B3,F0)", "x": 0, "y": 3, "w": 1.25 },
+ { "label": "K31 (B3,F1)", "x": 1.25, "y": 3 },
+ { "label": "K32 (B3,F4)", "x": 2.25, "y": 3, "w": 1.25 },
+ { "label": "K36 (B3,B5)", "x": 3.5, "y": 3, "w": 6.25 },
+ { "label": "K3A (B3,D4)", "x": 9.75, "y": 3 },
+ { "label": "K3B (B3,D5)", "x": 10.75, "y": 3 },
+ { "label": "K3C (B3,C7)", "x": 11.75, "y": 3 }
+ ]
+ }
+ }
+ ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
diff --git a/keyboards/handwired/carpolly/keymaps/default/keymap.c b/keyboards/handwired/carpolly/keymaps/default/keymap.c
new file mode 100644
index 0000000000..78eb95a77f
--- /dev/null
+++ b/keyboards/handwired/carpolly/keymaps/default/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2021 Paul Enrico N. Vola
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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 LT3_TAB LT(3, KC_TAB)
+#define LT2_LAL LT(2, KC_LALT)
+#define LT1_TAB LT(1, KC_LGUI)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = 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,
+ LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_SLSH, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, LT2_LAL, KC_SPC, 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,
+ KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT,
+ KC_LSFT, KC_MPLY, KC_VOLD, KC_VOLU, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _______,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_HOME, KC_PGDN, KC_PGUP
+ ),
+
+ [2] = LAYOUT(
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, _______,
+ _______, _______, _______, _______, _______, KC_DEL, KC_INS
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_SPC, _______, _______, _______
+ ),
+
+};
diff --git a/keyboards/handwired/carpolly/readme.md b/keyboards/handwired/carpolly/readme.md
new file mode 100644
index 0000000000..e79bd543e6
--- /dev/null
+++ b/keyboards/handwired/carpolly/readme.md
@@ -0,0 +1,30 @@
+# carpolly
+
+![carpool](https://i.imgur.com/w691sNnh.jpg)
+
+* Keyboard Maintainer: Paul Enrico N. Viola (https://github.com/PollyV1)
+* Hardware Supported: Teensy 2 controller
+* Hardware Availability: [PollyV1] https://github.com/PollyV1/Carpolly
+
+carpolly - a handwired keyboard on a teensy 2 controller
+
+## Make
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/carpolly:default
+
+## Flashing
+
+Flashing example for this keyboard:
+
+ make handwired/carpolly: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 RESET button on the controller.
+* **Keycode in layout**: Longpress ALT + ESC
diff --git a/keyboards/handwired/carpolly/rules.mk b/keyboards/handwired/carpolly/rules.mk
new file mode 100644
index 0000000000..a7f3367d86
--- /dev/null
+++ b/keyboards/handwired/carpolly/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 = 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
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+
+# generated by KBFirmware JSON to QMK Parser
+# https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/chiron/rules.mk b/keyboards/handwired/chiron/rules.mk
index e1b53f1e92..5a329467ec 100644
--- a/keyboards/handwired/chiron/rules.mk
+++ b/keyboards/handwired/chiron/rules.mk
@@ -17,7 +17,7 @@ DEBUG_ENABLE = no
EXTRAKEY_ENABLE = no
LEADER_ENABLE = no
MOUSEKEY_ENABLE = yes
-NKRO_ENABLE = no
+NKRO_ENABLE = no # Enable N-Key Rollover
RGBLIGHT_ENABLE = yes
SLEEP_LED_ENABLE = yes
SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/ck4x4/keymaps/default/keymap.c b/keyboards/handwired/ck4x4/keymaps/default/keymap.c
index bc8b602a67..6ff0ef0636 100644
--- a/keyboards/handwired/ck4x4/keymaps/default/keymap.c
+++ b/keyboards/handwired/ck4x4/keymaps/default/keymap.c
@@ -18,9 +18,9 @@ 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, KC_MINUS, \
- KC_4, KC_5, KC_6, KC_PLUS, \
- KC_1, KC_2, KC_3, KC_ENTER, \
- RESET, KC_NO, KC_NO, KC_NO \
+ [0] = LAYOUT(KC_7, KC_8, KC_9, KC_MINUS,
+ KC_4, KC_5, KC_6, KC_PLUS,
+ KC_1, KC_2, KC_3, KC_ENTER,
+ RESET, KC_NO, KC_NO, KC_NO
), // test with KC_CAPS, KC_A, RESET
};
diff --git a/keyboards/handwired/ck4x4/rules.mk b/keyboards/handwired/ck4x4/rules.mk
index 739473acec..b234297ed3 100644
--- a/keyboards/handwired/ck4x4/rules.mk
+++ b/keyboards/handwired/ck4x4/rules.mk
@@ -5,17 +5,14 @@ MCU = STM32F072
BOOTLOADER = stm32-dfu
# Build Options
-# comment out to disable the 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
-CUSTOM_MATRIX = no # Custom matrix file
+NKRO_ENABLE = yes # Enable N-Key Rollover
DEFAULT_FOLDER = handwired/ck4x4
diff --git a/keyboards/handwired/cmd60/keymaps/default/keymap.c b/keyboards/handwired/cmd60/keymaps/default/keymap.c
index 448d81dc16..aa6a74f084 100644
--- a/keyboards/handwired/cmd60/keymaps/default/keymap.c
+++ b/keyboards/handwired/cmd60/keymaps/default/keymap.c
@@ -2,45 +2,45 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* CMD60 - 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_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(3, KC_ENT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), MO(3), MO(4), MO(5), TG(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_TAB, KC_Q, 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(3, KC_ENT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), MO(3), MO(4), MO(5), TG(1)
),
[1] = LAYOUT( /* CMD60 - GameMode */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, \
- _______, XXXXXXX, _______, KC_SPC, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
+ _______, XXXXXXX, _______, KC_SPC, _______, _______, _______, _______
),
[2] = LAYOUT( /* CMD60 - Arrows */
- KC_GRV, KC_F1, 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_UP, KC_DEL, _______, _______, _______, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, \
- _______, _______, _______, _______, KC_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_BSPC, KC_UP, KC_DEL, _______, _______, _______, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
+ _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT( /* CMD60 - Functions */
- KC_GRV, KC_F1, 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_BSPC, KC_PGUP, KC_DEL, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, KC_PAUS, KC_SLCK, KC_PSCR, \
- _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_INS, _______, \
- _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
+ KC_GRV, KC_F1, 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_BSPC, KC_PGUP, KC_DEL, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, KC_PAUS, KC_SLCK, KC_PSCR,
+ _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_INS, _______,
+ _______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
),
[4] = LAYOUT( /* CMD60 - Mouse */
- KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_BTN3, KC_WH_D, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
+ KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_BTN3, KC_WH_D, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
),
[5] = LAYOUT( /* CMD60 - Media */
- KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, KC_WREF, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
+ KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, KC_WREF,
+ _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/handwired/cmd60/rules.mk b/keyboards/handwired/cmd60/rules.mk
index f03e4cf375..9b2c210d42 100644
--- a/keyboards/handwired/cmd60/rules.mk
+++ b/keyboards/handwired/cmd60/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/co60/rev1/rules.mk b/keyboards/handwired/co60/rev1/rules.mk
index ab65c6873c..6474d8fb95 100644
--- a/keyboards/handwired/co60/rev1/rules.mk
+++ b/keyboards/handwired/co60/rev1/rules.mk
@@ -12,10 +12,7 @@ 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
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
LEADER_ENABLE = yes # Turn on leader support
diff --git a/keyboards/handwired/co60/rev6/rules.mk b/keyboards/handwired/co60/rev6/rules.mk
index ff752f1bc6..117fdd5e9d 100644
--- a/keyboards/handwired/co60/rev6/rules.mk
+++ b/keyboards/handwired/co60/rev6/rules.mk
@@ -6,7 +6,7 @@ BOARD = QMK_PROTON_C
BOOTLOADER = stm32-dfu
# Build Options
-# comment out to disable the options.
+# change yes to no to disable
#
BACKLIGHT_ENABLE = yes
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
@@ -14,7 +14,7 @@ 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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
LEADER_ENABLE = yes
diff --git a/keyboards/handwired/co60/rev7/rules.mk b/keyboards/handwired/co60/rev7/rules.mk
index f58c4189a9..eabe78800a 100644
--- a/keyboards/handwired/co60/rev7/rules.mk
+++ b/keyboards/handwired/co60/rev7/rules.mk
@@ -9,7 +9,7 @@ BOOTLOADER = stm32-dfu
WS2812_DRIVER = spi
# Build Options
-# comment out to disable the options.
+# change yes to no to disable
#
BACKLIGHT_ENABLE = yes
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
@@ -17,7 +17,7 @@ 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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
LEADER_ENABLE = yes
diff --git a/keyboards/handwired/colorlice/rules.mk b/keyboards/handwired/colorlice/rules.mk
index 3dfdacb8a8..886ccccac9 100644
--- a/keyboards/handwired/colorlice/rules.mk
+++ b/keyboards/handwired/colorlice/rules.mk
@@ -12,10 +12,7 @@ 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
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes # Use link time optimization
diff --git a/keyboards/handwired/concertina/64key/rules.mk b/keyboards/handwired/concertina/64key/rules.mk
index b5a104abfb..1152adcc95 100644
--- a/keyboards/handwired/concertina/64key/rules.mk
+++ b/keyboards/handwired/concertina/64key/rules.mk
@@ -13,10 +13,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/consolekeyboard/18key/rules.mk b/keyboards/handwired/consolekeyboard/18key/rules.mk
index 448051e2af..77d7e04c72 100644
--- a/keyboards/handwired/consolekeyboard/18key/rules.mk
+++ b/keyboards/handwired/consolekeyboard/18key/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/consolekeyboard/20key/rules.mk b/keyboards/handwired/consolekeyboard/20key/rules.mk
index 448051e2af..77d7e04c72 100644
--- a/keyboards/handwired/consolekeyboard/20key/rules.mk
+++ b/keyboards/handwired/consolekeyboard/20key/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/consolekeyboard/27key/rules.mk b/keyboards/handwired/consolekeyboard/27key/rules.mk
index 448051e2af..77d7e04c72 100644
--- a/keyboards/handwired/consolekeyboard/27key/rules.mk
+++ b/keyboards/handwired/consolekeyboard/27key/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/consolekeyboard/30key/rules.mk b/keyboards/handwired/consolekeyboard/30key/rules.mk
index 448051e2af..77d7e04c72 100644
--- a/keyboards/handwired/consolekeyboard/30key/rules.mk
+++ b/keyboards/handwired/consolekeyboard/30key/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/croxsplit44/config.h b/keyboards/handwired/croxsplit44/config.h
new file mode 100644
index 0000000000..009da2785e
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/config.h
@@ -0,0 +1,53 @@
+/*
+Copyright 2021 Samux6146
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have 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 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 }
+#define MATRIX_COL_PINS { B6, B5, B4, D2, C0, C1, F5, F4, F3, F2, F1, F0 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN C4
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 42
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #define RGBLIGHT_VAL_STEP 8
+ #define RGBLIGHT_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 \ No newline at end of file
diff --git a/keyboards/handwired/hnah40/keymaps/default/config.h b/keyboards/handwired/croxsplit44/croxsplit44.c
index 74412a948e..4dbc7d4cb5 100644
--- a/keyboards/handwired/hnah40/keymaps/default/config.h
+++ b/keyboards/handwired/croxsplit44/croxsplit44.c
@@ -1,4 +1,5 @@
-/* Copyright 2019 HnahKB
+/* Copyright 2021 Samux6146
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
@@ -13,6 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#pragma once
-
-// place overrides here
+#include "croxsplit44.h"
diff --git a/keyboards/handwired/croxsplit44/croxsplit44.h b/keyboards/handwired/croxsplit44/croxsplit44.h
new file mode 100644
index 0000000000..c94124f9ee
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/croxsplit44.h
@@ -0,0 +1,32 @@
+/* Copyright 2021 Samux6146
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
+ K302, K303, K304, K305, 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, K211 }, \
+ { KC_NO, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, KC_NO, KC_NO } \
+}
diff --git a/keyboards/handwired/croxsplit44/info.json b/keyboards/handwired/croxsplit44/info.json
new file mode 100644
index 0000000000..e10a390bbd
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/info.json
@@ -0,0 +1,55 @@
+{
+ "keyboard_name": "croxsplit44",
+ "url": "",
+ "maintainer": "Samux6146",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"K00 (D4,B6)", "x":0.5, "y":1.375},
+ {"label":"K01 (D4,B5)", "x":1.5, "y":1.375},
+ {"label":"K02 (D4,B4)", "x":2.5, "y":1.125},
+ {"label":"K03 (D4,D2)", "x":3.5, "y":1},
+ {"label":"K04 (D4,C0)", "x":4.5, "y":1.125},
+ {"label":"K05 (D4,C1)", "x":5.5, "y":1.25},
+ {"label":"K06 (D4,F5)", "x":13, "y":1.25},
+ {"label":"K07 (D4,F4)", "x":14, "y":1.125},
+ {"label":"K08 (D4,F3)", "x":15, "y":1},
+ {"label":"K09 (D4,F2)", "x":16, "y":1.125},
+ {"label":"K0A (D4,F1)", "x":17, "y":1.375},
+ {"label":"K0B (D4,F0)", "x":18, "y":1.375},
+ {"label":"K10 (D5,B6)", "x":0.5, "y":2.375},
+ {"label":"K11 (D5,B5)", "x":1.5, "y":2.375},
+ {"label":"K12 (D5,B4)", "x":2.5, "y":2.125},
+ {"label":"K13 (D5,D2)", "x":3.5, "y":2},
+ {"label":"K14 (D5,C0)", "x":4.5, "y":2.125},
+ {"label":"K15 (D5,C1)", "x":5.5, "y":2.25},
+ {"label":"K16 (D5,F5)", "x":13, "y":2.25},
+ {"label":"K17 (D5,F4)", "x":14, "y":2.125},
+ {"label":"K18 (D5,F3)", "x":15, "y":2},
+ {"label":"K19 (D5,F2)", "x":16, "y":2.125},
+ {"label":"K1A (D5,F1)", "x":17, "y":2.375},
+ {"label":"K1B (D5,F0)", "x":18, "y":2.375},
+ {"label":"K20 (D6,B6)", "x":0.5, "y":3.375},
+ {"label":"K21 (D6,B5)", "x":1.5, "y":3.375},
+ {"label":"K22 (D6,B4)", "x":2.5, "y":3.125},
+ {"label":"K23 (D6,D2)", "x":3.5, "y":3},
+ {"label":"K24 (D6,C0)", "x":4.5, "y":3.125},
+ {"label":"K25 (D6,C1)", "x":5.5, "y":3.25},
+ {"label":"K26 (D6,F5)", "x":13, "y":3.25},
+ {"label":"K27 (D6,F4)", "x":14, "y":3.125},
+ {"label":"K28 (D6,F3)", "x":15, "y":3},
+ {"label":"K29 (D6,F2)", "x":16, "y":3.125},
+ {"label":"K2A (D6,F1)", "x":17, "y":3.375},
+ {"label":"K2B (D6,F0)", "x":18, "y":3.375},
+ {"label":"K32 (D7,B4)", "x":2.5, "y":4.125},
+ {"label":"K33 (D7,D2)", "x":3.5, "y":4},
+ {"label":"K34 (D7,C0)", "x":4.5, "y":4.5},
+ {"label":"K35 (D7,C1)", "x":5.5, "y":4.75},
+ {"label":"K36 (D7,F5)", "x":12.75, "y":4.75},
+ {"label":"K37 (D7,F4)", "x":13.8, "y":4.375},
+ {"label":"K38 (D7,F3)", "x":15, "y":4},
+ {"label":"K39 (D7,F2)", "x":16, "y":4.125}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/croxsplit44/keymaps/default/keymap.c b/keyboards/handwired/croxsplit44/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7b3805ad63
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
+/* Copyright 2021 Samux6146
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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_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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI,
+ KC_LCTL, KC_LALT, LT(1, KC_NO), KC_SPC, KC_SPC, LT(1, KC_NO), KC_TRNS, KC_TRNS),
+
+[1] = 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, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_UP, KC_RGHT, KC_ENT,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS),
+}; \ No newline at end of file
diff --git a/keyboards/handwired/croxsplit44/keymaps/via/keymap.c b/keyboards/handwired/croxsplit44/keymaps/via/keymap.c
new file mode 100644
index 0000000000..63cd585ab3
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2021 Samux6146
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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_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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LGUI,
+ KC_LCTL, KC_LALT, LT(1, KC_NO), KC_SPC, KC_SPC, LT(1, KC_NO), KC_TRNS, KC_TRNS),
+
+[1] = 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, RGB_MOD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_UP, KC_RGHT, KC_ENT,
+ KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, 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),
+
+[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)
+};
diff --git a/keyboards/handwired/croxsplit44/keymaps/via/rules.mk b/keyboards/handwired/croxsplit44/keymaps/via/rules.mk
new file mode 100644
index 0000000000..43061db1dd
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/croxsplit44/readme.md b/keyboards/handwired/croxsplit44/readme.md
new file mode 100644
index 0000000000..b9eeb305b2
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/readme.md
@@ -0,0 +1,23 @@
+# croxsplit44
+
+![davanti](https://user-images.githubusercontent.com/41386727/131268038-801cb316-7bb1-486d-8432-be5412ddc31b.jpg)
+
+# A 3d printed 44 key handwired split keyboard
+Thanks to ak666666 for the base case layout : https://www.thingiverse.com/thing:4146704
+*
+* Keyboard Maintainer: https://github.com/Samux6146
+* Hardware Supported: handwired, teensy ++ 2.0
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/croxsplit44: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 `RESET` if it is available
diff --git a/keyboards/handwired/croxsplit44/rules.mk b/keyboards/handwired/croxsplit44/rules.mk
new file mode 100644
index 0000000000..0b2170c456
--- /dev/null
+++ b/keyboards/handwired/croxsplit44/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = at90usb1286
+
+# 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
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/handwired/curiosity/rules.mk b/keyboards/handwired/curiosity/rules.mk
index ede7873722..b7593aec9c 100644
--- a/keyboards/handwired/curiosity/rules.mk
+++ b/keyboards/handwired/curiosity/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/d48/keymaps/default/keymap.c b/keyboards/handwired/d48/keymaps/default/keymap.c
index 4c3925c7ed..b4cd88b0b0 100644
--- a/keyboards/handwired/d48/keymaps/default/keymap.c
+++ b/keyboards/handwired/d48/keymaps/default/keymap.c
@@ -47,12 +47,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
┃LCTRL┃ │ │ ALT │ GUI │SPACE┃SPACE│ 𝛽/= │ ' │ │ ┃ \ ┃
┗━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┛
*/
- [_MAIN] = LAYOUT( \
- 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, \
- KC_ALPHA,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_RCTRL,\
- KC_LCTRL,_______, _______, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_BETA, KC_QUOT, _______, _______, KC_BSLS \
+ [_MAIN] = LAYOUT(
+ 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,
+ KC_ALPHA,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_RCTRL,
+ KC_LCTRL,_______, _______, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_BETA, KC_QUOT, _______, _______, KC_BSLS
),
/* Alpha layer (𝛼)
@@ -67,12 +67,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
┃ ┃ │ │ │ │ ┃ │ │ │ │ ┃ ┃
┗━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┛
*/
- [_ALPHA] = LAYOUT( \
- _______, _______, \
- _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_NLCK, KC_MINS, KC_PGUP, KC_UP, KC_PGDN, KC_TILD, KC_DEL, \
- _______, _______, KC_VOLD, KC_VOLU, _______, KC_CAPS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_GRV, KC_BSLS, \
- _______, _______, _______, _______, _______, KC_SLCK, KC_END, KC_EQL, KC_LBRC, KC_RBRC, KC_LPRN ,KC_RPRN, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ [_ALPHA] = LAYOUT(
+ _______, _______,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_NLCK, KC_MINS, KC_PGUP, KC_UP, KC_PGDN, KC_TILD, KC_DEL,
+ _______, _______, KC_VOLD, KC_VOLU, _______, KC_CAPS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT,KC_GRV, KC_BSLS,
+ _______, _______, _______, _______, _______, KC_SLCK, KC_END, KC_EQL, KC_LBRC, KC_RBRC, KC_LPRN ,KC_RPRN,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Beta layer (𝛽)
@@ -87,12 +87,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
┃ ┃ │ │ │ │ ┃ │ │ │ │ ┃ ┃
┗━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┷━━━━━┷━━━━━┷━━━━━┷━━━━━┻━━━━━┛
*/
- [_BETA] = LAYOUT( \
- _______, _______, \
+ [_BETA] = LAYOUT(
+ _______, _______,
RGB_TOG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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, DEBUG, _______, _______, KC_SET_TIME,KC_SLEP,_______,KC_LCBR,KC_RCBR, KC_PSCR, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ _______, 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_LCBR,KC_RCBR, KC_PSCR, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/d48/rules.mk b/keyboards/handwired/d48/rules.mk
index af6f369eff..c9fc60c130 100644
--- a/keyboards/handwired/d48/rules.mk
+++ b/keyboards/handwired/d48/rules.mk
@@ -13,8 +13,7 @@ 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = yes
USE_I2C = no
diff --git a/keyboards/handwired/dactyl/rules.mk b/keyboards/handwired/dactyl/rules.mk
index 7d10d01cba..fdc8b2e5ef 100644
--- a/keyboards/handwired/dactyl/rules.mk
+++ b/keyboards/handwired/dactyl/rules.mk
@@ -5,7 +5,7 @@ MCU = atmega32u4
BOOTLOADER = halfkay
# Build Options
-# comment out to disable the options.
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
POINTING_DEVICE_ENABLE = no
@@ -14,10 +14,9 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
CUSTOM_MATRIX = yes # Custom matrix file for the Dactyl
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
UNICODE_ENABLE = yes # Unicode
SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard
-SLEEP_LED_ENABLE = no
RGBLIGHT_ENABLE = no
# project specific files
diff --git a/keyboards/handwired/dactyl_left/rules.mk b/keyboards/handwired/dactyl_left/rules.mk
index 3388265b2f..ad5f5465e8 100644
--- a/keyboards/handwired/dactyl_left/rules.mk
+++ b/keyboards/handwired/dactyl_left/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/dactyl_manuform/4x5/rules.mk b/keyboards/handwired/dactyl_manuform/4x5/rules.mk
index 3036ebe1db..0415379827 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/4x5/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md
new file mode 100644
index 0000000000..b7f7cbf938
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/README.md
@@ -0,0 +1,8 @@
+#### compile with
+
+`make handwired/dactyl_manuform/4x6:scheikled`
+
+
+#### flash with
+
+`qmk flash -kb handwired/dactyl_manuform/4x6 -km scheikled`
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h
new file mode 100644
index 0000000000..a73cac9ed6
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/config.h
@@ -0,0 +1,60 @@
+// Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+
+#pragma once
+
+#define USE_I2C
+
+#define SPLIT_HAND_PIN F6
+
+// WS2812 RGB LED strip input and number of LEDs
+#undef RGB_DI_PIN
+#undef RGBLED_NUM
+#define RGB_DI_PIN F4
+#define RGBLED_NUM 52
+#define RGBLED_SPLIT {26, 26}
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_RGB_TEST
+#define RGBLIGHT_EFFECT_SNAKE
+
+// Amoeba royale PCBs (https://github.com/mtl/keyboard-pcbs/tree/master/amoeba-royale) use row to column layout (current can flow from row pin to column pin).
+#undef DIODE_DIRECTION
+#define DIODE_DIRECTION ROW2COL
+
+#define DEBOUNCE 5
+
+#define AUTO_SHIFT_TIMEOUT 100
+#define NO_AUTO_SHIFT_SPECIAL
+#define NO_AUTO_SHIFT_NUMERIC
+
+// require two taps for a TT layer switch (default 5)
+#define TAPPING_TOGGLE 2
+
+// Mouse control
+// constant mode (velocity)
+#define MK_3_SPEED
+// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2
+
+// Cursor offset per movement (unmodified)
+#define MK_C_OFFSET_UNMOD 16
+// Time between cursor movements (unmodified)
+#define MK_C_INTERVAL_UNMOD 10
+/* #define MK_C_INTERVAL_UNMOD 16 */
+
+// Cursor offset per movement (KC_ACL0)
+#define MK_C_OFFSET_0 1
+// Time between cursor movements (KC_ACL0)
+#define MK_C_INTERVAL_0 32
+
+// Cursor offset per movement (KC_ACL1)
+#define MK_C_OFFSET_1 4
+// Time between cursor movements (KC_ACL1)
+#define MK_C_INTERVAL_1 16
+
+// Cursor offset per movement (KC_ACL2)
+#define MK_C_OFFSET_2 20
+/* #define MK_C_OFFSET_2 32 */
+// Time between cursor movements (KC_ACL2)
+#define MK_C_INTERVAL_2 16
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c
new file mode 100644
index 0000000000..7f3fc2585f
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* A K.O,Y layout for the Dactyl Manuform 4x6 Keyboard */
+
+#include QMK_KEYBOARD_H
+#include "koy_keys_on_quertz_de_latin1.h"
+
+enum custom_layers {
+ _1,
+ _3,
+ _4,
+ _7,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_1] = LAYOUT(
+ KC_TAB , KC_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z ,
+ MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F ,
+ KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT ,
+ KC_LCTL , KC_LGUI , KC_CAPS , TT(_7) ,
+ KC_LALT , KC_SPC , MO(_3) , MO(_4) ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+ ),
+
+ [_3] = LAYOUT(
+
+ KC_TAB , N_DOTS , N_USC , N_LSQBR , N_RSQBR , N_CIRC , N_EXKL , N_LT , N_GT , N_EQ , N_AMP , N_ACUT ,
+ KC_TRNS , N_BSLS , N_SLSH , N_LCUBR , N_RCUBR , N_ASTR , N_QUES , N_LPARN , N_RPARN , N_MINS , N_COLN , N_AT ,
+ KC_LSFT , N_HASH , N_DLR , N_PIPE , N_TILD , N_GRAVE , N_PLUS , N_PERC , N_QUOT , N_SING , N_SEMI , KC_RSFT ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_LALT , KC_SPC , KC_TRNS , KC_TRNS ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+
+ ),
+
+ [_4] = LAYOUT(
+
+ KC_TAB , KC_PGUP , KC_BSPC , KC_UP , KC_DEL , KC_PGDN , KC_KP_SLASH , KC_7 , KC_8 , KC_9 , KC_KP_MINUS , KC_TRNS ,
+ KC_TRNS , KC_HOME , KC_LEFT , KC_DOWN , KC_RIGHT , KC_END , KC_KP_ASTERISK , KC_4 , KC_5 , KC_6 , KC_KP_PLUS , KC_TRNS ,
+ KC_LSFT , KC_ESC , KC_TAB , KC_INS , KC_ENTER , N_UNDO , KC_KP_ENTER , KC_1 , KC_2 , KC_3 , KC_KP_DOT , KC_RSFT ,
+ KC_TRNS , KC_TRNS , KC_0 , KC_TRNS ,
+ KC_LALT , KC_0 , KC_TRNS , KC_TRNS ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+
+ ),
+
+ [_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_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 ,
+ KC_LALT , KC_F10 , KC_TRNS , KC_TRNS ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+
+ ),
+
+};
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk
new file mode 100644
index 0000000000..9991dcad71
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheikled/rules.mk
@@ -0,0 +1,10 @@
+# Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+BOOTLOADER = atmel-dfu
+AUTO_SHIFT_ENABLE = yes
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+NKRO_ENABLE = yes
+RGBLIGHT_ENABLE = yes
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md
new file mode 100644
index 0000000000..18c4d8e78d
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/README.md
@@ -0,0 +1,8 @@
+#### compile with
+
+`make handwired/dactyl_manuform/4x6:scheiklp`
+
+
+#### flash with
+
+`qmk flash -kb handwired/dactyl_manuform/4x6 -km scheiklp`
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h
new file mode 100644
index 0000000000..bfce275567
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/config.h
@@ -0,0 +1,47 @@
+// Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+
+#define USE_I2C
+#define SPLIT_HAND_PIN F6
+
+#undef RGB_DI_PIN
+#undef RGBLED_NUM
+
+#define DEBOUNCE 5
+
+#define AUTO_SHIFT_TIMEOUT 100
+#define NO_AUTO_SHIFT_SPECIAL
+#define NO_AUTO_SHIFT_NUMERIC
+
+// require two taps for a TT layer switch (default 5)
+#define TAPPING_TOGGLE 2
+
+// Mouse control
+// constant mode (velocity)
+#define MK_3_SPEED
+// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2
+
+// Cursor offset per movement (unmodified)
+#define MK_C_OFFSET_UNMOD 16
+// Time between cursor movements (unmodified)
+#define MK_C_INTERVAL_UNMOD 10
+/* #define MK_C_INTERVAL_UNMOD 16 */
+
+// Cursor offset per movement (KC_ACL0)
+#define MK_C_OFFSET_0 1
+// Time between cursor movements (KC_ACL0)
+#define MK_C_INTERVAL_0 32
+
+// Cursor offset per movement (KC_ACL1)
+#define MK_C_OFFSET_1 4
+// Time between cursor movements (KC_ACL1)
+#define MK_C_INTERVAL_1 16
+
+// Cursor offset per movement (KC_ACL2)
+#define MK_C_OFFSET_2 20
+/* #define MK_C_OFFSET_2 32 */
+// Time between cursor movements (KC_ACL2)
+#define MK_C_INTERVAL_2 16
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c
new file mode 100644
index 0000000000..86a34c4f04
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/keymap.c
@@ -0,0 +1,64 @@
+// Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* A K.O,Y layout for the Dactyl Manuform 4x6 Keyboard */
+
+#include QMK_KEYBOARD_H
+#include "koy_keys_on_quertz_de_latin1.h"
+
+enum custom_layers {
+ _1,
+ _3,
+ _4,
+ _7,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_1] = LAYOUT(
+ KC_TAB , KC_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z ,
+ MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F ,
+ KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT ,
+ KC_LCTL , KC_LGUI , KC_CAPS , TT(_7) ,
+ KC_LALT , KC_SPC , MO(_3) , MO(_4) ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+ ),
+
+ [_3] = LAYOUT(
+
+ KC_TAB , N_DOTS , N_USC , N_LSQBR , N_RSQBR , N_CIRC , N_EXKL , N_LT , N_GT , N_EQ , N_AMP , N_ACUT ,
+ KC_TRNS , N_BSLS , N_SLSH , N_LCUBR , N_RCUBR , N_ASTR , N_QUES , N_LPARN , N_RPARN , N_MINS , N_COLN , N_AT ,
+ KC_LSFT , N_HASH , N_DLR , N_PIPE , N_TILD , N_GRAVE , N_PLUS , N_PERC , N_QUOT , N_SING , N_SEMI , KC_RSFT ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_LALT , KC_SPC , KC_TRNS , KC_TRNS ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+
+ ),
+
+ [_4] = LAYOUT(
+
+ KC_TAB , KC_PGUP , KC_BSPC , KC_UP , KC_DEL , KC_PGDN , KC_KP_SLASH , KC_7 , KC_8 , KC_9 , KC_KP_MINUS , KC_TRNS ,
+ KC_TRNS , KC_HOME , KC_LEFT , KC_DOWN , KC_RIGHT , KC_END , KC_KP_ASTERISK , KC_4 , KC_5 , KC_6 , KC_KP_PLUS , KC_TRNS ,
+ KC_LSFT , KC_ESC , KC_TAB , KC_INS , KC_ENTER , N_UNDO , KC_KP_ENTER , KC_1 , KC_2 , KC_3 , KC_KP_DOT , KC_RSFT ,
+ KC_TRNS , KC_TRNS , KC_0 , KC_TRNS ,
+ KC_LALT , KC_0 , KC_TRNS , KC_TRNS ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+
+ ),
+
+ [_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 , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_MS_ACCEL0 , KC_MS_LEFT , KC_MS_DOWN , KC_MS_RIGHT , KC_TRNS , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , KC_TRNS , KC_TRNS ,
+ KC_LSFT , KC_MS_ACCEL1 , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_PSCR , KC_F10 , KC_TRNS ,
+ KC_LALT , KC_F10 , KC_TRNS , KC_TRNS ,
+ N_COPY , N_CUT , KC_ESC , KC_ENTER ,
+ N_PASTE , N_UNDO , KC_BSPC , KC_DEL
+
+ ),
+
+};
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk
new file mode 100644
index 0000000000..db873a7522
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/scheiklp/rules.mk
@@ -0,0 +1,9 @@
+# Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+BOOTLOADER = atmel-dfu
+AUTO_SHIFT_ENABLE = yes
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+NKRO_ENABLE = yes
+DEBOUNCE_TYPE = asym_eager_defer_pk
diff --git a/keyboards/handwired/dactyl_manuform/4x6/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/rules.mk
index 3036ebe1db..0415379827 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/4x6/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/dactyl_manuform/4x6_5/4x6_5.c b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.c
new file mode 100644
index 0000000000..a770f5ac40
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.c
@@ -0,0 +1 @@
+#include "4x6_5.h"
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h
new file mode 100644
index 0000000000..f34d8be4df
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/4x6_5.h
@@ -0,0 +1,26 @@
+#pragma once
+
+#include "dactyl_manuform.h"
+
+#define XXX KC_NO
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L32, L33, R32, R33, \
+ L34, L45, L43, R42, R40, R31, \
+ L44, L42, R43, R41 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { XXX, XXX, L32, L33, L34, XXX }, \
+ { XXX, XXX, L42, L43, L44, L45 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { XXX, R31, R32, R33, XXX, XXX }, \
+ { R40, R41, R42, R43, XXX, XXX } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/config.h
new file mode 100644
index 0000000000..2e79517b25
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/config.h
@@ -0,0 +1,41 @@
+/*
+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"
+
+/* USB Device descriptor parameter */
+#define PRODUCT_ID 0x3436
+#define DEVICE_VER 0x0001
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 6
+
+// row-driven
+#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+// WS2812 RGB LED strip input and number of LEDs
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 12
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/info.json b/keyboards/handwired/dactyl_manuform/4x6_5/info.json
new file mode 100644
index 0000000000..3534cc01a6
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/info.json
@@ -0,0 +1,72 @@
+{
+ "keyboard_name": "Dactyl Manuform 4x6 5 thumb keys",
+ "url": "",
+ "maintainer": "qmk",
+ "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, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+ {"x": 6, "y": 4},
+
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4},
+ {"x": 12, "y": 4},
+
+ {"x": 5, "y": 5},
+ {"x": 6, "y": 5},
+
+ {"x": 10, "y": 5},
+ {"x": 11, "y": 5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/config.h
new file mode 100644
index 0000000000..38dfa5cb39
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/config.h
@@ -0,0 +1,24 @@
+/*
+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 EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c
new file mode 100644
index 0000000000..3036986f2a
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/default/keymap.c
@@ -0,0 +1,63 @@
+// Copyright 2021 Andrzej Kotulski (@akotulski)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+enum layer_names {
+ _BASE,
+ _RAISE,
+ _LOWER
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base (qwerty)
+ * +-----------------------------------------+ +-----------------------------------------+
+ * | ESC | q | w | e | r | t | | y | u | i | o | p | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | TAB | a | s | d | f | g | | h | j | k | l | ; | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | SHFT | z | x | c | v | b | | n | m | , | . | / | |
+ * +------+------+------+------+-------------+ +-------------+------+------+------+------+
+ * | [ | ] | | | |
+ * +-------------+-------------+ +-------------+-------------+
+ * | | | | | |
+ * |------+------| |------+------|
+ * | | | | | |
+ * +-------------+ +-------------+
+ * +-------------+ +-------------+
+ * | | | | | |
+ * |------+------| |------+------|
+ * | | | | | |
+ * +-------------+ +-------------+
+ */
+ [_BASE] = LAYOUT(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_LBRC, KC_RBRC, KC_PLUS, KC_EQL,
+ KC_SPC, RAISE, KC_HOME, KC_END, LOWER, KC_ENT,
+ KC_BSPC, KC_LALT, KC_LGUI, KC_DEL
+ ),
+
+ [_LOWER] = LAYOUT(
+ _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS,
+ _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE,
+ _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS,
+ _______, KC_PSCR, _______, KC_P0,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT(
+ _______, RESET, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE,
+ _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
+ _______, _______, KC_EQL, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+ )
+};
+
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h
new file mode 100644
index 0000000000..9532d1f67c
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/config.h
@@ -0,0 +1,24 @@
+// 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/>.
+
+#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, 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, \
+ XXX, XXX, XXX, XXX, \
+ K32, K33, K34, K35, K36, K37, \
+ XXX, XXX, XXX, XXX \
+)
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c
new file mode 100644
index 0000000000..7c5717a0fe
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/keymaps/manna-harbour_miryoku/keymap.c
@@ -0,0 +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/4x6_5/rules.mk b/keyboards/handwired/dactyl_manuform/4x6_5/rules.mk
new file mode 100644
index 0000000000..0415379827
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/rules.mk
@@ -0,0 +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 = 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
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md
new file mode 100644
index 0000000000..81a8004f7b
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/README.md
@@ -0,0 +1,8 @@
+#### compile with
+
+`make handwired/dactyl_manuform/5x6:scheiklp`
+
+
+#### flash with
+
+`qmk flash -kb handwired/dactyl_manuform/5x6 -km scheiklp`
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h
new file mode 100644
index 0000000000..613d8ae47f
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/config.h
@@ -0,0 +1,47 @@
+// Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+
+#pragma once
+
+
+#define USE_I2C
+
+/* #define MASTER_LEFT */
+ /* #define MASTER_RIGHT */
+#define EE_HANDS
+// Rows are doubled-up
+
+#define AUTO_SHIFT_TIMEOUT 125
+#define NO_AUTO_SHIFT_SPECIAL
+#define NO_AUTO_SHIFT_NUMERIC
+
+// require two taps for a TT layer switch (default 5)
+#define TAPPING_TOGGLE 2
+
+// Mouse control
+// constant mode (velocity)
+#define MK_3_SPEED
+// KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2
+
+// Cursor offset per movement (unmodified)
+#define MK_C_OFFSET_UNMOD 16
+// Time between cursor movements (unmodified)
+#define MK_C_INTERVAL_UNMOD 10
+/* #define MK_C_INTERVAL_UNMOD 16 */
+
+// Cursor offset per movement (KC_ACL0)
+#define MK_C_OFFSET_0 1
+// Time between cursor movements (KC_ACL0)
+#define MK_C_INTERVAL_0 32
+
+// Cursor offset per movement (KC_ACL1)
+#define MK_C_OFFSET_1 4
+// Time between cursor movements (KC_ACL1)
+#define MK_C_INTERVAL_1 16
+
+// Cursor offset per movement (KC_ACL2)
+#define MK_C_OFFSET_2 20
+/* #define MK_C_OFFSET_2 32 */
+// Time between cursor movements (KC_ACL2)
+#define MK_C_INTERVAL_2 16
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c
new file mode 100644
index 0000000000..001687b57d
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/keymap.c
@@ -0,0 +1,70 @@
+// Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* A K.O,Y layout for the Dactyl Manuform 5x6 Keyboard */
+
+#include QMK_KEYBOARD_H
+#include "koy_keys_on_quertz_de_latin1.h"
+
+
+enum custom_layers {
+ _1,
+ _3,
+ _4,
+ _7,
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_1] = LAYOUT_5x6(
+ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC ,
+ KC_TAB , KC_K , KC_DOT , KC_O , KC_COMM , N_Y , KC_V , KC_G , KC_C , KC_L , N_SS , N_Z ,
+ MO(_3) , KC_H , KC_A , KC_E , KC_I , KC_U , KC_D , KC_T , KC_R , KC_N , KC_S , KC_F ,
+ KC_LSFT , KC_X , KC_Q , N_AE , N_UE , N_OE , KC_B , KC_P , KC_W , KC_M , KC_J , KC_RSFT ,
+ KC_LCTL , KC_LGUI , KC_CAPS , TT(_7),
+ KC_LALT, KC_SPC, MO(_3), MO(_4),
+ N_COPY, N_CUT, DM_RSTP, KC_ENTER,
+ N_PASTE, N_UNDO, DM_REC1, DM_PLY1
+ ),
+
+ [_3] = LAYOUT_5x6(
+
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC,
+ KC_TAB, N_DOTS, N_USC, N_LSQBR, N_RSQBR, N_CIRC, N_EXKL, N_LT, N_GT, N_EQ, N_AMP, N_ACUT,
+ KC_TRNS, N_BSLS, N_SLSH, N_LCUBR, N_RCUBR, N_ASTR, N_QUES, N_LPARN, N_RPARN, N_MINS, N_COLN, N_AT,
+ KC_LSFT, N_HASH, N_DLR, N_PIPE, N_TILD, N_GRAVE, N_PLUS, N_PERC, N_QUOT, N_SING, N_SEMI, KC_RSFT,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_LALT,KC_SPC, KC_TRNS,KC_TRNS,
+ N_COPY, N_CUT, DM_RSTP, KC_ENTER,
+ N_PASTE, N_UNDO, DM_REC1, DM_PLY1
+
+ ),
+
+ [_4] = LAYOUT_5x6(
+
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC,
+ KC_TAB, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_KP_SLASH, KC_7, KC_8, KC_9, KC_KP_MINUS, KC_TRNS,
+ KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END, KC_KP_ASTERISK, KC_4, KC_5, KC_6, KC_KP_PLUS, KC_TRNS,
+ KC_LSFT, KC_ESC, KC_TAB, KC_INS, KC_ENTER, N_UNDO, KC_KP_ENTER, KC_1, KC_2, KC_3, KC_KP_DOT, KC_RSFT,
+ KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_LALT,KC_0, KC_TRNS,KC_TRNS,
+ N_COPY, N_CUT, DM_RSTP, KC_ENTER,
+ N_PASTE, N_UNDO, DM_REC1, DM_PLY1
+
+ ),
+
+ [_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_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,
+ KC_TRNS,KC_PSCR, KC_TRNS, KC_TRNS,
+ KC_LALT,KC_0, KC_TRNS,KC_TRNS,
+ N_COPY, N_CUT, DM_RSTP, KC_ENTER,
+ N_PASTE, N_UNDO, DM_REC1, DM_PLY1
+
+ ),
+
+};
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk
new file mode 100644
index 0000000000..a0b983c7ab
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/scheiklp/rules.mk
@@ -0,0 +1,10 @@
+# Copyright 2021 Paul Maria Scheikl (@ScheiklP)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+AUTO_SHIFT_ENABLE = yes
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
+NKRO_ENABLE = yes
+BOOTLOADER = atmel-dfu
+DYNAMIC_MACRO_ENABLE = yes
+
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h
new file mode 100644
index 0000000000..4eca68c542
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h
@@ -0,0 +1,11 @@
+// Copyright 2022 Ulrich Spörlein (@uqs)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#define USE_SERIAL
+
+#define RGBLED_NUM 12
+#define RGBLED_SPLIT {6,6}
+#define RGBLIGHT_LIMIT_VAL 127
+
+#define EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c
new file mode 100644
index 0000000000..211cd91e12
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/keymap.c
@@ -0,0 +1,170 @@
+// Copyright 2022 Ulrich Spörlein (@uqs)
+// SPDX-License-Identifier: GPL-2.0-or-later
+// vi:et sw=4 cc=5,15,25,35,45,55,65:
+
+#include "uqs.h"
+
+/*
+ * My custom layout macro that allows for easy diff(1) operations between
+ * various keyboards. It probably doesn't make sense to you.
+ */
+#define LAYOUT_uqs( \
+ L00, L01, L02, L03, L04, L05, \
+ L10, L11, L12, L13, L14, L15, \
+ L20, L21, L22, L23, L24, L25, \
+ L30, L31, L32, L33, L34, L35, \
+ L42, L43, \
+ L44, L45, L54, \
+ L55, L52, L53, \
+ R00, R01, R02, R03, R04, R05, \
+ R10, R11, R12, R13, R14, R15, \
+ R20, R21, R22, R23, R24, R25, \
+ R30, R31, R32, R33, R34, R35, \
+ R42, R43, \
+ R51, R40, R41, \
+ R50, R52, R53 \
+) \
+LAYOUT_5x6( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L42, L43, R42, R43, \
+ L44, L45, R40, R41, \
+ L54, L55, R50, R51, \
+ L52, L53, R52, R53 \
+)
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [L_QWER] = LAYOUT_uqs(
+ KC_GESC, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
+ KC_LBRC, KC_RBRC,
+ /*thumb*/ LT_EXTD_ESC, KC_SPC, LT_MOUSE_ALT_SHIFT_INS,
+ /*aux*/ KC_LEAD, OSM_GUI, KC_LALT,
+ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
+ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV),
+ KC_MINS, KC_EQL,
+ /*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC,
+ /*aux*/ KC_RALT, KC_APP, KC_LEAD
+ ),
+
+ [L_WASD] = LAYOUT_uqs(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
+ KC_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R,
+ KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F,
+ KC_B, KC_GRV, KC_Z, KC_X, KC_C, KC_V,
+ KC_LBRC, KC_RBRC,
+ /*thumb*/ KC_LCTL, KC_SPC, KC_R,
+ /*aux*/ A(KC_M), KC_LGUI, KC_LALT,
+ KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV),
+ KC_MINS, KC_EQL,
+ /*thumb*/ DF(L_COLM), KC_ENT, KC_BSPC,
+ /*aux*/ KC_F5, KC_RALT, KC_APP
+ ),
+
+ [L_COLM] = LAYOUT_uqs(
+ KC_NO, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_NO,
+ KC_BTN2, KC_Q, KC_W, KC_F, KC_P, KC_B,
+ KC_BTN1, KC_G_A, KC_A_R, KC_S_S, KC_C_T, KC_G,
+ KC_BTN3, KC_Z, KC_X, KC_C, KC_D, KC_V,
+ MS_WHUP, MS_WHDN,
+ /*thumb*/ LT_EXTD_ESC, SFT_T(KC_SPC), LT(L_MOUSE, KC_TAB),
+ /*aux*/ KC_LEAD, OSM_GUI, KC_LALT,
+ KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, KC_NO,
+ KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_NO,
+ KC_M, KC_C_N, KC_S_E, KC_A_I, KC_G_O, KC_NO,
+ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_NO,
+ KC_NO, KC_NO,
+ /*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC,
+ /*aux*/ KC_LEAD, KC_RALT, KC_APP
+ ),
+
+ // Updated with inspiration from https://forum.colemak.com/topic/2014-extend-extra-extreme/
+ // I like the AltGr trick from https://stevep99.github.io/seniply/ and should probably incorporate some stuff from it.
+ [L_EXTD] = LAYOUT_uqs(
+ _______, _______, _______, _______, _______, _______,
+ _______, KC_BTN1, KC_SCTAB, KC_PGUP, KC_CTAB, KC_LEAD,
+ _______, OSM_GUI, OSM_ALT, OSM_SFT, OSM_CTL, KC_RALT,
+ _______, ALT_TAB, MS_WHUP, MS_WHDN, KC_PGDN, INS_HARD,
+ _______, _______,
+ /*thumb*/ _______, _______, _______,
+ /*aux*/ _______, _______, _______,
+ /* ^^^^ can't be used */
+ _______, _______, _______, _______, _______, _______,
+ KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_NO,
+ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_NO,
+ WIN_LEFT, WIN_DN, WIN_UP, WIN_RGHT, KC_PSTE, KC_NO, // KC_PSTE works in XTerm to emulate middle-click
+ _______, _______,
+ /*thumb*/ _______, _______, KC_BSPC,
+ /*aux*/ _______, _______, _______
+ /* ^^^^ use these */
+ ),
+
+ // TODO: maybe swap # with ;, that way I can roll :w or :wq which I need
+ // often ... probably better to add a combo?
+ [L_NUM] = LAYOUT_uqs(
+ _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC,
+ _______, KC_SCLN, KC_COLN, KC_LCBR, KC_LPRN, KC_LBRC,
+ _______, KC_CIRC, KC_AMPR, KC_RCBR, KC_RPRN, KC_RBRC,
+ KC_GRV, KC_TILDE,
+ /*thumb*/ KC_ESC, KC_SPC, KC_0,
+ /*aux*/ _______, _______, _______,
+ /* ^^^^ use these */
+ KC_NUMLOCK,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_EQUAL, KC_7, KC_8, KC_9, KC_KP_PLUS,_______,
+ KC_KP_ASTERISK,KC_4,KC_5, KC_6, MINS_UNDSCR,_______,
+ KC_COMM, KC_1, KC_2, KC_3, KC_KP_SLASH,KC_KP_ENTER, // Enter here, because thumb is occupied
+ KC_0, KC_KP_DOT,
+ /*thumb*/ _______, _______, _______,
+ /*aux*/ _______, _______, _______
+ /* ^^^^ can't be used */
+ ),
+
+ [L_FUNC] = LAYOUT_uqs(
+ _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ _______, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, DF(L_WASD),
+ _______, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, DF(L_QWER),
+ _______, KC_NO, KC_NO, KC_NO, KC_NO, DF(L_COLM),
+ KC_NO, KC_NO,
+ /*thumb*/ _______, _______, _______,
+ /*aux*/ _______, _______, _______,
+ /* ^^^^ use these */
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,
+ KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO,
+ KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, KC_NO,
+ KC_NO, KC_NO,
+ /*thumb*/ _______, _______, _______,
+ /*aux*/ _______, _______, _______
+ /* ^^^^ can't be used */
+ ),
+
+ [L_MOUSE] = LAYOUT_uqs(
+ _______, _______, _______, _______, _______, _______,
+ _______, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_VOLU,
+ _______, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_VOLD,
+ _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE,
+ KC_NO, KC_NO,
+ /*thumb*/ _______, _______, _______,
+ /*aux*/ _______, _______, _______,
+ /* ^^^^ can't be used */
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_MS_UP, MS_WHUP, _______, _______,
+ MS_WHLEFT,KC_MS_L, KC_MS_D, KC_MS_R, MS_WHRGHT,_______,
+ _______, MS_WHDN, KC_BTN3, KC_BTN4, KC_BTN5, _______,
+ KC_NO, KC_NO,
+ /*thumb*/ KC_NO, KC_BTN1, KC_BTN2,
+ /*aux*/ _______, _______, _______
+ /* use these ^^^^ */
+ ),
+};
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk
new file mode 100644
index 0000000000..2cd3745fa1
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/rules.mk
@@ -0,0 +1 @@
+#VIA_ENABLE = yes # doesn't fit with 7 layers :/
diff --git a/keyboards/handwired/dactyl_manuform/5x6/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/rules.mk
index 3036ebe1db..0415379827 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/dactyl_manuform/5x6_2_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk
index 3262f7fad2..c5b46aa48e 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h
index 0a38c8aefb..9ae7b44a69 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h
@@ -28,7 +28,7 @@
#define USE_SERIAL
#define SOFT_SERIAL_PIN D2
#define EE_HANDS
-#define SPLIT_USB_DETECT
+// #define SPLIT_USB_DETECT
// wiring of each half
// ../../../../docs/proton_c_conversion.md
@@ -43,17 +43,15 @@
#define BOOTMAGIC_LITE_ROW_RIGHT 0
#define BOOTMAGIC_LITE_COLUMN_RIGHT 5
+// Configure the global tapping term (default: 200ms)
#define TAPPING_TERM 200
// Prevent normal rollover on alphas from accidentally triggering mods.
-// #define IGNORE_MOD_TAP_INTERRUPT
+#define IGNORE_MOD_TAP_INTERRUPT
+//#define IGNORE_MOD_TAP_INTERRUPT
+#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-// #define TAPPING_FORCE_HOLD
-
-// Apply the modifier on keys that are tapped during a short hold of a modtap
-// #define PERMISSIVE_HOLD
-
-#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
+#define TAPPING_FORCE_HOLD
#define FORCE_NKRO
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 0d8fd05425..3503bfd368 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c
@@ -15,28 +15,76 @@
#include QMK_KEYBOARD_H
-#define CM_SPAL LGUI_T(KC_SPC)
-#define CM_SPAR RGUI_T(KC_SPC)
+#define CM_R LCTL_T(KC_R)
+#define CM_S LALT_T(KC_S)
+#define CM_T LGUI_T(KC_T)
-#define SH_ENL LSFT_T(KC_ENT)
-#define SH_ENR RSFT_T(KC_ENT)
+#define CM_N RGUI_T(KC_N)
+#define CM_E RALT_T(KC_E)
+#define CM_I RCTL_T(KC_I)
-#define SYM MO(_SYMBOL)
-#define ADJ MO(_ADJUST)
+#define QU_S LCTL_T(KC_S)
+#define QU_D LALT_T(KC_D)
+#define QU_F LGUI_T(KC_F)
+
+#define QU_J RGUI_T(KC_J)
+#define QU_K RALT_T(KC_K)
+#define QU_L RCTL_T(KC_L)
+
+#define SPC_L LSFT_T(KC_SPC)
+#define SPC_R RSFT_T(KC_SPC)
+#define ENT_L LSFT_T(KC_ENT)
+#define ENT_R RSFT_T(KC_ENT)
+
+#define UNDO LGUI(KC_Z)
+#define REDO LGUI(KC_Y)
+#define CUT LGUI(KC_X)
+#define COPY LGUI(KC_C)
+#define PASTE LGUI(KC_V)
+#define ALL LGUI(KC_A)
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
#define QWERT DF(_QWERTY)
-#define COLEM DF(_COLEMAK)
+#define COLEM DF(_COLEMAK_DH)
enum layer_names {
+ _COLEMAK_DH,
_QWERTY,
- _COLEMAK,
- _SYMBOL,
+ _RAISE,
+ _LOWER,
_ADJUST
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
+ [_COLEMAK_DH] = LAYOUT_5x6_5(
+ /* COLEMAK_DH
+ * .-----------------------------------------. .-----------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | \ |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Del | A |R /CTL|S /ALT|T /CMD| G | | M |N /CMD|E /ALT|I /CTL| O | ' |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Shft | Z | X | C | D | V | | K | H | , | . | / | Shft |
+ * '-----------------------------------------/ \-----------------------------------------'
+ * | | | / RAISE /---------------. .---------------\ LOWER \ | | |
+ * | | | / / Space / Enter / \ Enter \ Space \ \ | | |
+ * '-------------' '-------/ Shift / Shift / \ Shift \ Shift \-------' '-------------'
+ * /---------------/ \---------------\
+ * / = / Home / \ End \ - \
+ * / + / / \ \ _ \
+ * '---------------' '---------------'
+ */
+ 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_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS,
+ KC_DEL , KC_A , CM_R , CM_S , CM_T , KC_G , KC_M , CM_N , CM_E , CM_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_RSFT,
+ XXXXXXX, XXXXXXX, RAISE , SPC_L , ENT_L , ENT_R , SPC_R , LOWER , XXXXXXX, XXXXXXX,
+ KC_EQL, KC_HOME , KC_END , KC_MINS
+ ),
[_QWERTY] = LAYOUT_5x6_5(
/* QWERTY
* .-----------------------------------------. .-----------------------------------------.
@@ -44,87 +92,87 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
+ * | Del | A |S /CTL|D /ALT|F /CMD| G | | H |J /CMD|K /ALT|L /CTL| ; | ' |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft |
* '-----------------------------------------/ \-----------------------------------------'
- * | ADJ | - | / SYM /---------------. .---------------\ SYM \ | + | ADJ |
- * | | | / / Cmd / Shift / \ Shift \ Cmd \ \ | | |
- * '-------------' '-------/ Space / Enter / \ Enter \ Space \-------' '-------------'
+ * | | | / RAISE /---------------. .---------------\ LOWER \ | | |
+ * | | | / / Space / Enter / \ Enter \ Space \ \ | | |
+ * '-------------' '-------/ Shift / / \ \ Shift \-------' '-------------'
* /---------------/ \---------------\
- * / Alt / Ctrl / \ Ctrl \ Alt \
- * / / / \ \ \
+ * / = / Home / \ End \ - \
+ * / + / / \ \ _ \
* '---------------' '---------------'
*/
- KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
+ 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_LCTL, 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_A , QU_S , QU_D , QU_F , KC_G , KC_H , QU_J , QU_K , QU_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,
- ADJ , KC_MINS, SYM , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, SYM , KC_EQL , ADJ ,
- KC_LALT, KC_LCTL, KC_RCTL, KC_RALT
+ XXXXXXX, XXXXXXX, RAISE , SPC_L , ENT_L , ENT_R , SPC_R , LOWER , XXXXXXX, XXXXXXX,
+ KC_EQL, KC_HOME , KC_END , KC_MINS
),
- [_COLEMAK] = LAYOUT_5x6_5(
- /* COLEMAK
+ [_RAISE] = LAYOUT_5x6_5(
+ /* RAISE
* .-----------------------------------------. .-----------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp |
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
+ * | | Redo | | | | | | % | $ | # | ` | | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
+ * | | All | Cut | Copy | Paste| | | ^ | / | * | ~ | ? | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shft | Z | X | C | V | B | | K | M | , | . | / | Shft |
+ * | | Undo | | | | | | | & | | | | | |
* '-----------------------------------------/ \-----------------------------------------'
- * | ADJ | - | / SYM /---------------. .---------------\ SYM \ | + | ADJ |
- * | | | / / Cmd / Shift / \ Shift \ Cmd \ \ | | |
- * '-------------' '-------/ Space / Enter / \ Enter \ Space \-------' '-------------'
+ * | RST | | / /---------------. .---------------\ \ | | |
+ * | | | / / / / \ \ \ \ | | |
+ * '-------------' '-------/ / / \ \ \-------' '-------------'
* /---------------/ \---------------\
- * / Alt / Ctrl / \ Ctrl \ Alt \
- * / / / \ \ \
+ * / / Page / \ Page \ \
+ * / / Up / \ Down \ \
* '---------------' '---------------'
*/
- KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
- KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS,
- KC_LCTL, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_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_RSFT,
- ADJ , KC_MINS, SYM , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, SYM , KC_EQL , ADJ ,
- KC_LALT, KC_LCTL, KC_RCTL, KC_RALT
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
+ 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,
+ _______, KC_PGUP, KC_PGDN, _______
),
- [_SYMBOL] = LAYOUT_5x6_5(
- /* SYMBOL
+ [_LOWER] = LAYOUT_5x6_5(
+ /* LOWER
* .-----------------------------------------. .-----------------------------------------.
- * | ` | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | ! | @ | [ | ] | + | | | | up | | | F12 |
+ * | | | | [ | ] | | | | | up | | | F12 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | & | | | ( | ) | - | | | left | down | right| ? | |
+ * | Ins | ! | @ | ( | ) | | | | left | down | rght | ? | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | * | / | { | } | = | | | | | | | |
+ * | | | | { | } | | | | | | | | |
* '-----------------------------------------/ \-----------------------------------------'
- * | | | / /---------------. .---------------\ \ | | |
+ * | | | / /---------------. .---------------\ \ | | RST |
* | | | / / / / \ \ \ \ | | |
* '-------------' '-------/ / / \ \ \-------' '-------------'
* /---------------/ \---------------\
- * / / / \ \ \
- * / / / \ \ \
+ * / / Page / \ Page \ \
+ * / / Up / \ Down \ \
* '---------------' '---------------'
*/
- KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
- XXXXXXX, KC_EXLM, KC_AT , KC_LBRC, KC_RBRC, KC_PPLS, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 ,
- _______, KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_MINS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX,
- _______, KC_ASTR, KC_SLSH, KC_LCBR, KC_RCBR, KC_PEQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
+ 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 ,
+ _______, KC_PGUP, KC_PGDN, _______
),
[_ADJUST] = LAYOUT_5x6_5(
/* ADJUST
* .-----------------------------------------. .-----------------------------------------.
- * | RST | | | | | QWERT| |COLEM | | | | | RST |
+ * | | | | | | QWERT| |COLEM | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | + | | B + | | | | | |
+ * | | | | | | V+ | | B + | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | - | | B - | << | play | >> | | |
+ * | | | | | | V- | | B - | << | play | >> | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | = | | | | | | | |
+ * | | | | | | Mute | | | | | | | |
* '-----------------------------------------/ \-----------------------------------------'
* | | | / /---------------. .---------------\ \ | | |
* | | | / / / / \ \ \ \ | | |
@@ -134,20 +182,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* / / / \ \ \
* '---------------' '---------------'
*/
- RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET ,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case CM_SPAR:
+ case SPC_L:
+ return false;
+ case SPC_R:
return true;
- default:
+ case ENT_L:
+ return false;
+ case ENT_R:
return false;
+ default:
+ return true;
}
}
+
+// Flexible macOS-friendly Grave Escape
+// https://docs.qmk.fm/#/feature_key_overrides?id=flexible-macos-friendly-grave-escape
+
+const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE));
+const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE);
+
+const key_override_t **key_overrides = (const key_override_t *[]){
+ &tilde_esc_override,
+ &grave_esc_override,
+ NULL
+};
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk
index 0b99981410..88d1fb309d 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk
@@ -1,6 +1,2 @@
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-EXTRAKEY_ENABLE = yes
-COMMAND_ENABLE = yes
MOUSEKEY_ENABLE = no
-LTO_ENABLE = no
-NKRO_ENABLE = yes
+KEY_OVERRIDE_ENABLE = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk
index a4ef754fcb..1a7e6a8f94 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/dactyl_manuform/5x7/rules.mk b/keyboards/handwired/dactyl_manuform/5x7/rules.mk
index 3036ebe1db..0415379827 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x7/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
index 821abe0308..7bff55701a 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
@@ -31,3 +31,32 @@
{ R50, R51, R52, R53, XXX, XXX }, \
{ R60, R61, R62, R63, XXX, XXX } \
}
+
+
+#define LAYOUT_6x6_5_thumb( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
+ L52, L53, R52, R53, \
+ L54, R51, \
+ L64, L65, R60, R61, \
+ L62, L63, R62, R63 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { L40, L41, L42, L43, L44, L45 }, \
+ { XXX, XXX, L52, L53, L54, XXX }, \
+ { XXX, XXX, L62, L63, L64, L65 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { R40, R41, R42, R43, R44, R45 }, \
+ { XXX, R51, R52, R53, XXX, XXX }, \
+ { R60, R61, R62, R63, XXX, XXX } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h
new file mode 100644
index 0000000000..f0c98d3b97
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/chconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should 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
+
+#include_next <chconf.h>
+
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h
new file mode 100644
index 0000000000..93e1ed8449
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h
@@ -0,0 +1,54 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+#undef SOFT_SERIAL_PIN
+
+#define MATRIX_ROW_PINS { B12, B13, B14, B15, A8 , A9, A10}
+#define MATRIX_COL_PINS { B1, B0, A7, A6, A5, A4}
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+#define BOOTMAGIC_LITE_ROW_RIGHT 7
+#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
+
+// in col2row col is input, and row is output
+// #define SPLIT_HAND_MATRIX_GRID A10, A4
+// 68kohm
+#define SPLIT_HAND_PIN B10
+
+/* connection */
+#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
+#define SOFT_SERIAL_PIN B6 // USART TX pin
+#define SERIAL_USART_RX_PIN B7 // USART RX pin
+#define SERIAL_USART_TX_PIN SOFT_SERIAL_PIN // USART TX pin
+
+#define SELECT_SOFT_SERIAL_SPEED 1 // or 0, 2, 3, 4, 5
+ // 0: 460800 baud
+ // 1: 230400 baud (default)
+ // 2: 115200 baud
+ // 3: 57600 baud
+ // 4: 38400 baud
+ // 5: 19200 baud
+#define SERIAL_USART_DRIVER SD1 // USART driver of TX and RX pin. default: SD1
+#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
+#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
+#define SERIAL_USART_TIMEOUT 20 // USART driver timeout. default 20
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h
new file mode 100644
index 0000000000..9068139df8
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/halconf.h
@@ -0,0 +1,24 @@
+/* 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_SERIAL TRUE
+
+#define PAL_USE_CALLBACKS TRUE
+#define PAL_USE_WAIT TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h
new file mode 100644
index 0000000000..b8bb363d91
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next "mcuconf.h"
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk
new file mode 100644
index 0000000000..af3cc49296
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk
@@ -0,0 +1,30 @@
+# Copyright 2021 Bartosz Nowak (@dumam)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# MCU name
+MCU = STM32F411
+
+# Bootloader selection
+BOOTLOADER = tinyuf2
+
+# 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
+
+
+# Build Options
+# change yes to no to disable
+#
+SPLIT_KEYBOARD = yes
+# split settings
+# https://beta.docs.qmk.fm/developing-qmk/c-development/hardware_drivers/serial_driver
+SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h
index 9323e33029..15682fcadf 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/config.h
@@ -20,21 +20,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3636
-#define DEVICE_VER 0x0001
-#define PRODUCT Dactyl-Manuform (6x6)
+#define PRODUCT_ID 0x3636
+#define DEVICE_VER 0x0001
+#define PRODUCT "Dactyl-Manuform (6x6)"
+
+/* USB Device descriptor parameter */
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 14
#define MATRIX_COLS 6
-
-// wiring of each half
-#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
-#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }
-
-#define DIODE_DIRECTION COL2ROW
-
-// WS2812 RGB LED strip input and number of LEDs
-#define RGB_DI_PIN D3
-#define RGBLED_NUM 12
diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json
index 596126879e..1f4e7dc3a4 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/info.json
@@ -99,6 +99,101 @@
{"x": 9, "y": 8},
{"x": 10, "y": 8}
]
+ },
+
+ "LAYOUT_6x6_5_thumb": {
+ "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, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+
+ {"x": 11, "y": 4},
+ {"x": 12, "y": 4},
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+ {"x": 15, "y": 4},
+ {"x": 16, "y": 4},
+
+ {"x": 2, "y": 5},
+ {"x": 3, "y": 5},
+
+ {"x": 13, "y": 5},
+ {"x": 14, "y": 5},
+
+ {"x": 4, "y": 6},
+ {"x": 12, "y": 6},
+
+ {"x": 6, "y": 7},
+ {"x": 7, "y": 7},
+
+ {"x": 9, "y": 7},
+ {"x": 10, "y": 7},
+
+ {"x": 6, "y": 8},
+ {"x": 7, "y": 8},
+
+ {"x": 9, "y": 8},
+ {"x": 10, "y": 8}
+ ]
}
}
}
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
index 41e96b53d7..8c85746986 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
@@ -1,8 +1,13 @@
+// Copyright 2021 david@impstyle.com (@zwnk)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
#include QMK_KEYBOARD_H
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
#define RAISE MO(_RAISE)
#define LOWER MO(_LOWER)
@@ -15,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
- RAISE,KC_SPC, KC_ENT, LOWER,
+ RAISE ,KC_SPC, KC_ENT, LOWER,
KC_TAB,KC_HOME, KC_END, KC_DEL,
KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
),
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c
new file mode 100644
index 0000000000..b68ec078e0
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default_5_thumb/keymap.c
@@ -0,0 +1,51 @@
+// Copyright 2021 Bartosz Nowak (@dumam)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define RAISE LT(_RAISE, KC_SPC)
+#define LOWER LT(_LOWER, KC_ENT)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_6x6_5_thumb(
+ KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,
+ KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC,
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_MINS,
+ KC_LSFT,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,
+ KC_LCTL,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
+ KC_LBRC,KC_RBRC, KC_PLUS,KC_EQL ,
+ RAISE , LOWER ,
+ KC_TAB ,KC_HOME, KC_END ,KC_DEL,
+ KC_BSPC,KC_GRV , KC_LGUI ,KC_LALT
+ ),
+
+ [_LOWER] = LAYOUT_6x6_5_thumb(
+ KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,
+ KC_TILD,KC_EXLM,KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,KC_P7 ,KC_P8 ,KC_P9 ,_______,KC_PLUS,
+ _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN,KC_P4 ,KC_P5 ,KC_P6 ,KC_MINS,KC_PIPE,
+ _______,_______,_______,_______,_______,_______, _______,KC_P1 ,KC_P2 ,KC_P3 ,KC_EQL ,KC_UNDS,
+ _______,KC_PSCR, _______,KC_P0 ,
+ _______, _______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ ),
+
+ [_RAISE] = LAYOUT_6x6_5_thumb(
+ KC_F12 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 ,
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
+ _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
+ _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
+ _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
+ _______,_______, KC_EQL ,_______,
+ _______, _______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ )
+};
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c
new file mode 100644
index 0000000000..2fb783e0b8
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/dumam/keymap.c
@@ -0,0 +1,59 @@
+// Copyright 2021 Bartosz Nowak (@dumam)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY, // daily use and coding
+ _MOVE, // mouse, arrows, browsing useful keys
+ _CONF, // machine settings, keyboard settings, backlight
+};
+#define _KC_SPC LT(_CONF, KC_SPC)
+#define _KC_ENT LT(_MOVE, KC_ENT)
+
+#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
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_6x6_5_thumb(
+
+ KC_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_BSLS,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL ,
+ KC_SLSH,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_LBRC,KC_RBRC,
+ KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B , KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SCLN,KC_QUOT,
+ KC_LGUI,KC_ESC , KC_HOME,KC_END ,
+ _KC_SPC, _KC_ENT,
+ KC_TAB_,KC_BSPC, KC_DEL ,KC_RSFT,
+ KC_LCTL,KC_LALT, KC_RALT,KC_RCTL
+ ),
+
+ [_CONF] = LAYOUT_6x6_5_thumb(
+
+ RESET__,XXXXXXX,XXXXXXX,XXXXXXX,KC_SLEP,KC_WAKE, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,RESET__,
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,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_PGUP,XXXXXXX, XXXXXXX,KC_PGUP,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+ XXXXXXX,KC_CAPS,KC_MENU,XXXXXXX,KC_PGDN,KC_LGUI, KC_LGUI,KC_PGDN,XXXXXXX,KC_INS_,KC_PSCR,XXXXXXX,
+ _______,_______, _______,_______,
+ _______, _______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ ),
+
+ [_MOVE] = LAYOUT_6x6_5_thumb(
+
+ RESET__,XXXXXXX,XXXXXXX,KC_MPRV,KC_MPLY,KC_MPLY, KC_MUTE,KC_VOLD,KC_VOLU,XXXXXXX,XXXXXXX,RESET__,
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+ XXXXXXX,XXXXXXX,XXXXXXX,KC_MS_U,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,KC_UP ,XXXXXXX,XXXXXXX,XXXXXXX,
+ XXXXXXX,XXXXXXX,KC_MS_L,KC_MS_D,KC_MS_R,XXXXXXX, XXXXXXX,KC_LEFT,KC_DOWN,KC_RGHT,XXXXXXX,XXXXXXX,
+ XXXXXXX,XXXXXXX,KC_BTN1,KC_BTN3,KC_BTN2,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,
+ _______,_______, _______,_______,
+ _______, _______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ ),
+};
diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h b/keyboards/handwired/dactyl_manuform/6x6/promicro/config.h
new file mode 100644
index 0000000000..953d94a1a3
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/promicro/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
+
+#include "config_common.h"
+
+// wiring of each half
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+// WS2812 RGB LED strip input and number of LEDs
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 12
diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk
new file mode 100644
index 0000000000..d47d8e75f4
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/promicro/rules.mk
@@ -0,0 +1,8 @@
+# Copyright 2021 Bartosz Nowak (@dumam)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
diff --git a/keyboards/handwired/dactyl_manuform/6x6/readme.md b/keyboards/handwired/dactyl_manuform/6x6/readme.md
new file mode 100644
index 0000000000..9b079be466
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6/readme.md
@@ -0,0 +1,63 @@
+# Dactyl Manuform (6x6) optional 5thumb cluster
+
+## Dactyl Manufrom 6x6
+
+![Dactyl Manufrom 6x6](https://i.imgur.com/j8dsBgs.jpeg)
+
+## Dactyl Manufrom 6x6 with 5 key thumb cluster
+
+![Dactyl Manufrom 6x6 with thumb](https://i.imgur.com/C7FRiwd.jpeg)
+
+## Description
+
+* Keyboard Maintainer: [dumam for 5thumb](https://github.com/DuMaM) and others
+* Hardware Supported: STM32F4BlackPill, Promicro and clones
+
+Basic guide how to build 6x6 board is in root keyboard dir. This will help you to to create your own board with 6key based cluster with promicro. [For more click here](../readme.md).
+
+If you want to use 5thumb cluster or stm32, you also should read base guide, but please came back here after you finish 😉.
+
+For my build I used stm32f411 black pill. It's pretty cheap board and I highly recommend you to buy one from official distributors, to support board creators. [To buy it, please go into designer site](https://github.com/WeActTC/MiniSTM32F4x1).
+
+I recommend using stm32 boards for this project, because QMK recently added support for [tinyuf2 bootloader](https://github.com/adafruit/tinyuf2). This bootloader is great for cases where you are going to use QMK Configurator and don't want to use any command line interface. This way when you need change keyboard layout, you only need an UF2 file. Setting up board in boot mode will allow you to drag and drop it on to created STM32F flash drive.
+![BlackPill Schematic](blackpill_f411/STM32F4x1_PinoutDiagram_RichardBalint.png "Schematic of stm32f4 blackpill")
+
+For case I used 3D models form here. Big thanks to creators.
+
+- [dactyl-manuform-mini-keyboard](https://github.com/l4u/dactyl-manuform-mini-keyboard)
+- [dactyl-manuform](https://github.com/carbonfet/dactyl-manuform)
+- [Good build guide](https://medium.com/swlh/complete-idiot-guide-for-building-a-dactyl-manuform-keyboard-53454845b065)
+
+## STM32 Usage
+
+![BlackPill](https://raw.githubusercontent.com/WeActTC/MiniSTM32F4x1/master/images/STM32F4x1_PinoutDiagram_RichardBalint.png)
+
+My fixes allows for using STM32 with all keymaps located in this dir. Please note that you need to pull down and up B10 pin. I used here 68kohm resistor. Don't use bigger one then 100kohm and lower then 10kohm. Pin you should use for this it B10. [More can be found here](https://beta.docs.qmk.fm/using-qmk/hardware-features/feature_split_keyboard#setting-handedness).
+
+### Features
+
+- any board could be master one, and they can be used separately from each other
+- it's using full usart (4 cables), mostly due to some stability and half detection problems
+- easy keymaps update -> drag and drop file
+- pin used for rows (B12, B13, B14, B15, A8 , A9, A10) and for cols (B1, B0, A7, A6, A5, A4)
+
+## Build
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+After setting up your build environment you can try to build it with those commands.
+
+Make Promicro based img:
+
+ qmk compile -kb keyboards/handwired/dactyl_manuform/6x6 -km default
+
+Make BlackPill one:
+
+ qmk compile -kb keyboards/handwired/dactyl_manuform/6x6/blackpill_f411 -km default
+
+## Bootloader for BlackPill
+
+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.
diff --git a/keyboards/handwired/dactyl_manuform/6x6/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/rules.mk
index 3036ebe1db..84645084d3 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/6x6/rules.mk
@@ -1,9 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
# Build Options
# change yes to no to disable
#
@@ -12,11 +6,10 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/dactyl_manuform/6x6/promicro
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c
new file mode 100644
index 0000000000..ad213e2b75
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c
@@ -0,0 +1,5 @@
+// Copyright 2012 Jun Wako <wakojun@gmail.com>
+// Copyright 2021 Dmitriy Kuminov (@dmik)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "6x6_4.h"
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h
new file mode 100644
index 0000000000..7c767cae7e
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h
@@ -0,0 +1,37 @@
+// Copyright 2012 Jun Wako <wakojun@gmail.com>
+// Copyright 2021 Dmitriy Kuminov (@dmik)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "dactyl_manuform.h"
+
+#define XXX KC_NO
+
+#define LAYOUT_6x6_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, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
+ L50, L51, L52, L53, R52, R53, R54, R55, \
+ L54, L55, R50, R51, \
+ L64, L65, R60, R61, \
+ L62, L63, R62, R63 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { L40, L41, L42, L43, L44, L45 }, \
+ { L50, L51, L52, L53, L54, L55 }, \
+ { XXX, XXX, L62, L63, L64, L65 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { R40, R41, R42, R43, R44, R45 }, \
+ { R50, R51, R52, R53, R54, R55 }, \
+ { R60, R61, R62, R63, XXX, XXX } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/config.h b/keyboards/handwired/dactyl_manuform/6x6_4/config.h
new file mode 100644
index 0000000000..8f965f6957
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/config.h
@@ -0,0 +1,40 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define PRODUCT_ID 0x3636
+#define DEVICE_VER 0x0001
+#define PRODUCT Dactyl-Manuform (6x6+4)
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 14
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+// WS2812 RGB LED strip input and number of LEDs
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 12
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/info.json b/keyboards/handwired/dactyl_manuform/6x6_4/info.json
new file mode 100644
index 0000000000..470e775c0e
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/info.json
@@ -0,0 +1,108 @@
+{
+ "keyboard_name": "Dactyl Manuform 6x6 4 extra keys",
+ "url": "",
+ "maintainer": "dmik",
+ "layouts": {
+ "LAYOUT_6x6_4": {
+ "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, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+
+ {"x": 11, "y": 4},
+ {"x": 12, "y": 4},
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+ {"x": 15, "y": 4},
+ {"x": 16, "y": 4},
+
+ {"x": 0, "y": 5},
+ {"x": 1, "y": 5},
+ {"x": 2, "y": 5},
+ {"x": 3, "y": 5},
+
+ {"x": 13, "y": 5},
+ {"x": 14, "y": 5},
+ {"x": 15, "y": 5},
+ {"x": 16, "y": 5},
+
+ {"x": 4, "y": 6},
+ {"x": 5, "y": 6},
+
+ {"x": 11, "y": 6},
+ {"x": 12, "y": 6},
+
+ {"x": 6, "y": 7},
+ {"x": 7, "y": 7},
+
+ {"x": 9, "y": 7},
+ {"x": 10, "y": 7},
+
+ {"x": 6, "y": 8},
+ {"x": 7, "y": 8},
+
+ {"x": 9, "y": 8},
+ {"x": 10, "y": 8}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c
new file mode 100644
index 0000000000..9b4de373ec
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+// Copyright 2012 Jun Wako <wakojun@gmail.com>
+// Copyright 2021 Dmitriy Kuminov (@dmik)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_6x6_4(
+ KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,
+ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS,
+ KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
+ KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
+ _______,_______, KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,_______,_______,
+ RAISE,KC_SPC, KC_ENT, LOWER,
+ KC_TAB,KC_HOME, KC_END, KC_DEL,
+ KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
+ ),
+
+ [_LOWER] = LAYOUT_6x6_4(
+ KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,
+ KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
+ _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
+ _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
+ _______,_______,_______,KC_PSCR, _______, KC_P0,_______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ ),
+
+ [_RAISE] = LAYOUT_6x6_4(
+ KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
+ _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
+ _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
+ _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
+ _______,_______,_______,_______, KC_EQL ,_______,_______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ )
+};
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/rules.mk b/keyboards/handwired/dactyl_manuform/6x6_4/rules.mk
new file mode 100644
index 0000000000..0415379827
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/rules.mk
@@ -0,0 +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 = 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
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c
new file mode 100644
index 0000000000..a564360b48
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c
@@ -0,0 +1,5 @@
+// Copyright 2012 Jun Wako <wakojun@gmail.com>
+// Copyright 2021 Dmitriy Kuminov (@dmik)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "6x6_kinesis.h"
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h
new file mode 100644
index 0000000000..00f931281b
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h
@@ -0,0 +1,37 @@
+// Copyright 2012 Jun Wako <wakojun@gmail.com>
+// Copyright 2021 Dmitriy Kuminov (@dmik)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "dactyl_manuform.h"
+
+#define XXX KC_NO
+
+#define LAYOUT_6x6_kinesis( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
+ L50, L51, L52, L53, R52, R53, R54, R55, \
+ L54, L55, R50, R51, \
+ L64, L65, R60, R61, \
+ L62, L63, R62, R63 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { L40, L41, L42, L43, L44, L45 }, \
+ { L50, L51, L52, L53, L54, L55 }, \
+ { XXX, XXX, L62, L63, L64, L65 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { R40, R41, R42, R43, R44, R45 }, \
+ { R50, R51, R52, R53, R54, R55 }, \
+ { R60, R61, R62, R63, XXX, XXX } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
new file mode 100644
index 0000000000..8f965f6957
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
@@ -0,0 +1,40 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define PRODUCT_ID 0x3636
+#define DEVICE_VER 0x0001
+#define PRODUCT Dactyl-Manuform (6x6+4)
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 14
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
+#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+// WS2812 RGB LED strip input and number of LEDs
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 12
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
new file mode 100644
index 0000000000..e106a04c69
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
@@ -0,0 +1,108 @@
+{
+ "keyboard_name": "Dactyl Manuform 6x6 Kinesis Advantage edition",
+ "url": "",
+ "maintainer": "dmik",
+ "layouts": {
+ "LAYOUT_6x6_kinesis": {
+ "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, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+
+ {"x": 11, "y": 4},
+ {"x": 12, "y": 4},
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+ {"x": 15, "y": 4},
+ {"x": 16, "y": 4},
+
+ {"x": 1, "y": 5},
+ {"x": 2, "y": 5},
+ {"x": 3, "y": 5},
+ {"x": 4, "y": 5},
+
+ {"x": 12, "y": 5},
+ {"x": 13, "y": 5},
+ {"x": 14, "y": 5},
+ {"x": 15, "y": 5},
+
+ {"x": 5, "y": 7, "h": 2},
+ {"x": 6, "y": 7, "h": 2},
+
+ {"x": 10, "y": 7, "h": 2},
+ {"x": 11, "y": 7, "h": 2},
+
+ {"x": 6, "y": 6},
+ {"x": 7, "y": 6},
+
+ {"x": 9, "y": 6},
+ {"x": 10, "y": 6},
+
+ {"x": 7, "y": 8},
+ {"x": 7, "y": 7},
+
+ {"x": 9, "y": 7},
+ {"x": 9, "y": 8}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c
new file mode 100644
index 0000000000..2ef9794d6d
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
+// Copyright 2012 Jun Wako <wakojun@gmail.com>
+// Copyright 2021 Dmitriy Kuminov (@dmik)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_6x6_kinesis(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_CAPS,
+ 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_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_GRV , LOWER , KC_LEFT, KC_RGHT, KC_UP , KC_DOWN, KC_LBRC, KC_RBRC,
+ KC_BSPC, KC_DEL , KC_ENT , KC_SPC ,
+ KC_LGUI, KC_LALT, KC_RCTL, KC_RGUI,
+ KC_END , KC_HOME, KC_PGUP, KC_PGDN
+ ),
+
+ [_LOWER] = LAYOUT_6x6_kinesis(
+ _______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_INS , _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+
+ [_RAISE] = LAYOUT_6x6_kinesis(
+ _______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_INS , _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md b/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md
new file mode 100644
index 0000000000..1e44cc9601
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md
@@ -0,0 +1,85 @@
+# Kinesis Advantage Keymap
+
+## About this keymap
+
+This keymap is designed after Kinesis Advantage's QWERTY layout with the following key differences:
+ - There are only 10 F-keys in the main layer, F1 and F2 are moved to additional LOWER layer.
+ - The INS key acts like a LOWER layer activation key and Del in LOWER layer ats like INS.
+ - LCtl is placed where CAPS should be and CAPS is moved to a free key after F10.
+ - Brigtness and volume control keys are added to LOWER layer.
+
+ The keymap file also contains RAISE layer but it is currently equivalent to LOWER layer and does
+ not have an activation key mapped. It is intended for possible extensions.
+
+## Mapping details
+
+ Main QUERTY layer:
+ ,-------------------------------------------. ,-------------------------------------------.
+ | ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | CAPS |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | LCtl | A | S | D | F | G | | H | J | K | L | ; | ' |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | LShift | Z | X | C | V | B | | N | M | , | . | / | RShift |
+ `--------+------+------+------+------+------' `------+------+------+------+------+--------'
+ | ` | LOWER| Left | Rght | | Up | Dn | [ | ] |
+ `---------------------------' `---------------------------'
+ ,-------------. ,-------------.
+ | LGui | LAlt | | RCtl | RGui |
+ ,------|------|------| |------+------+------.
+ | | | Home | | PgUp | | |
+ | BkSp | Del |------| |------|Enter |Space |
+ | | | End | | PgDn | | |
+ `--------------------' `--------------------'
+
+ LOWER layer:
+ ,-------------------------------------------. ,-------------------------------------------.
+ | | F11 | F12 | | | | |BriDn |BriUp |VMute |VolDn |VolUp | |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | | | | | | | | | | | | | |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | | | | | | | | | | | | | |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | | | | | | | | | | | | | |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | | | | | | | | | | | | | |
+ `--------+------+------+------+------+------' `------+------+------+------+------+--------'
+ | | | | | | | | | |
+ `---------------------------' `---------------------------'
+ ,-------------. ,-------------.
+ | | | | | |
+ ,------|------|------| |------+------+------.
+ | | | | | | | |
+ | | INS |------| |------| | |
+ | | | | | | | |
+ `--------------------' `--------------------'
+
+## Soldering details
+
+The below picture shows correspondence between the keys and the row/column wires of the left and
+right halves:
+
+ LOWER layer:
+ ,-------------------------------------------. ,-------------------------------------------.
+ | L00 | L01 | L02 | L03 | L04 | L05 | | R00 | R01 | R02 | R03 | R04 | R05 |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | L10 | L11 | L12 | L13 | L14 | L15 | | R10 | R11 | R12 | R13 | R14 | R15 |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | L20 | L21 | L22 | L23 | L24 | L25 | | R20 | R21 | R22 | R23 | R24 | R25 |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | L30 | L31 | L32 | L33 | L34 | L35 | | R30 | R31 | R32 | R33 | R34 | R35 |
+ |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ | L40 | L41 | L42 | L43 | L44 | L45 | | R40 | R41 | R42 | R43 | R44 | R45 |
+ `--------+------+------+------+------+------' `------+------+------+------+------+--------'
+ | L50 | L51 | L52 | L53 | | R52 | R53 | R54 | R55 |
+ `---------------------------' `---------------------------'
+ ,-------------. ,-------------.
+ | L64 | L65 | | R60 | R61 |
+ ,------|------|------| |------+------+------.
+ | | | L63 | | R62 | | |
+ | L54 | L55 |------| |------| R50 | R51 |
+ | | | L62 | | R63 | | |
+ `--------------------' `--------------------'
diff --git a/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk b/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk
new file mode 100644
index 0000000000..0415379827
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk
@@ -0,0 +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 = 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
diff --git a/keyboards/handwired/dactyl_manuform/6x7/6x7.c b/keyboards/handwired/dactyl_manuform/6x7/6x7.c
new file mode 100644
index 0000000000..eea518da09
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x7/6x7.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Matthew Dews (@matthew-dews)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "6x7.h"
diff --git a/keyboards/handwired/dactyl_manuform/6x7/6x7.h b/keyboards/handwired/dactyl_manuform/6x7/6x7.h
new file mode 100644
index 0000000000..8d69ddd097
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x7/6x7.h
@@ -0,0 +1,35 @@
+// Copyright 2022 Matthew Dews (@matthew-dews)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include "dactyl_manuform.h"
+
+#define XXX KC_NO
+
+#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, L46, R40, R41, R42, R43, R44, R45, R46, \
+ L52, L53, R52, R53, \
+ L54, L55, R50, R51, \
+ L64, L65, R60, R61, \
+ L62, L63, R62, R63 \
+) { \
+ { 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 }, \
+ { XXX, XXX, XXX, L52, L53, L54, L55 }, \
+ { XXX, XXX, XXX, L62, L63, L64, L65 }, \
+\
+ { R00, R01, R02, R03, R04, R05, R06 }, \
+ { R10, R11, R12, R13, R14, R15, R16 }, \
+ { R20, R21, R22, R23, R24, R25, R26 }, \
+ { R30, R31, R32, R33, R34, R35, R36 }, \
+ { R40, R41, R42, R43, R44, R45, R46 }, \
+ { R50, R51, R52, R53, XXX, XXX, XXX }, \
+ { R60, R61, R62, R63, XXX, XXX, XXX } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x7/config.h b/keyboards/handwired/dactyl_manuform/6x7/config.h
new file mode 100644
index 0000000000..f66f4b036f
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x7/config.h
@@ -0,0 +1,40 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define PRODUCT_ID 0x3636
+#define DEVICE_VER 0x0001
+#define PRODUCT Dactyl-Manuform (6x7)
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 14
+#define MATRIX_COLS 7
+
+// wiring of each half
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5, B7 }
+#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+// WS2812 RGB LED strip input and number of LEDs
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 12
diff --git a/keyboards/handwired/dactyl_manuform/6x7/info.json b/keyboards/handwired/dactyl_manuform/6x7/info.json
new file mode 100644
index 0000000000..7b08dd8881
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x7/info.json
@@ -0,0 +1,114 @@
+{
+ "keyboard_name": "Dactyl Manuform 6x7",
+ "url": "",
+ "maintainer": "qmk",
+ "layouts": {
+ "LAYOUT_6x7": {
+ "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": 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": 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": 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": 12, "y": 4},
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+ {"x": 15, "y": 4},
+ {"x": 16, "y": 4},
+ {"x": 17, "y": 4},
+ {"x": 18, "y": 4},
+
+ {"x": 3, "y": 5},
+ {"x": 4, "y": 5},
+
+ {"x": 14, "y": 5},
+ {"x": 15, "y": 5},
+
+ {"x": 5, "y": 6},
+ {"x": 6, "y": 6},
+
+ {"x": 12, "y": 6},
+ {"x": 13, "y": 6},
+
+ {"x": 7, "y": 7},
+ {"x": 8, "y": 7},
+
+ {"x": 10, "y": 7},
+ {"x": 11, "y": 7},
+
+ {"x": 7, "y": 8},
+ {"x": 8, "y": 8},
+
+ {"x": 10, "y": 8},
+ {"x": 11, "y": 8}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c
new file mode 100644
index 0000000000..2b699eb683
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x7/keymaps/default/keymap.c
@@ -0,0 +1,50 @@
+// Copyright 2022 Matthew Dews (@matthew-dews)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+enum custom_layer {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_6x7(
+ 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_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_LBRC , KC_RBRC,
+ _______, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_QUOT , KC_BACKSLASH,
+ _______, KC_LSFT , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN, KC_LSFT , _______,
+ _______, KC_LCTL , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT,KC_SLSH, KC_LCTL , _______,
+ KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
+ RAISE ,KC_SPC , KC_ENT, LOWER ,
+ KC_TAB,KC_HOME, KC_END, KC_DEL,
+ KC_BSPC,KC_GRV, KC_LGUI, KC_LALT
+ ),
+
+ [_LOWER] = LAYOUT_6x7(
+ 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_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL , _______,
+ _______, _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, _______,
+ _______, _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, _______,
+ _______, _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, _______,
+ _______,KC_PSCR, _______, KC_P0,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ ),
+
+ [_RAISE] = LAYOUT_6x7(
+ _______,KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , _______,
+ _______,_______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, _______,
+ _______,_______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, _______,
+ _______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, _______,
+ _______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, _______,
+ _______,_______, KC_EQL ,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ )
+};
diff --git a/keyboards/handwired/dactyl_manuform/6x7/rules.mk b/keyboards/handwired/dactyl_manuform/6x7/rules.mk
new file mode 100644
index 0000000000..0415379827
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/6x7/rules.mk
@@ -0,0 +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 = 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
diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
index 11c9997771..d304814d7d 100644
--- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
+++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
@@ -4,6 +4,8 @@
# 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)
@@ -14,6 +16,12 @@
# 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_dmote_62key)
# include "62key.h"
#endif
diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md
index 3221da0e9d..4882f4ab4b 100644
--- a/keyboards/handwired/dactyl_manuform/readme.md
+++ b/keyboards/handwired/dactyl_manuform/readme.md
@@ -1,4 +1,4 @@
-Dactyl Manuform (4x5, 5x6, 5x7, 6x6)
+Dactyl Manuform (4x5, 5x6, 5x7, 6x6, 6x7)
======
the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link.
![Imgur](https://i.imgur.com/7y0Vbyd.jpg)
@@ -53,6 +53,11 @@ Keymap of Loligagger from geekhack.
#### Default
Simple QWERTY layout with 3 Layers.
+### [Keymaps 6x7](/keyboards/handwired/dactyl_manuform/6x7/keymaps/)
+
+#### Default
+Simple QWERTY layout with 3 Layers.
+
## Required Hardware
Apart from diodes and key switches for the keyboard matrix in each half, you
diff --git a/keyboards/handwired/dactyl_promicro/rules.mk b/keyboards/handwired/dactyl_promicro/rules.mk
index b6353cf37f..f5e44b43f3 100644
--- a/keyboards/handwired/dactyl_promicro/rules.mk
+++ b/keyboards/handwired/dactyl_promicro/rules.mk
@@ -5,20 +5,16 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+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.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_rah/rules.mk b/keyboards/handwired/dactyl_rah/rules.mk
index 3036ebe1db..0415379827 100644
--- a/keyboards/handwired/dactyl_rah/rules.mk
+++ b/keyboards/handwired/dactyl_rah/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/daishi/rules.mk b/keyboards/handwired/daishi/rules.mk
index 7e5f287909..bc5f2b1d0f 100644
--- a/keyboards/handwired/daishi/rules.mk
+++ b/keyboards/handwired/daishi/rules.mk
@@ -4,19 +4,17 @@ MCU = at90usb1286
# Bootloader selection
BOOTLOADER = atmel-dfu
-# QMK 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
+# 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 = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
ENCODER_ENABLE = yes # Add rotary encoder support
DYNAMIC_MACRO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/datahand/rules.mk b/keyboards/handwired/datahand/rules.mk
index e42ec3021e..06bc1c5040 100644
--- a/keyboards/handwired/datahand/rules.mk
+++ b/keyboards/handwired/datahand/rules.mk
@@ -5,18 +5,17 @@ MCU = at90usb1286
BOOTLOADER = halfkay
# 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 # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = yes # We definitely have a nonstandard matrix
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
# Project specific files
SRC = matrix.c
diff --git a/keyboards/handwired/dc/mc/001/rules.mk b/keyboards/handwired/dc/mc/001/rules.mk
index 3ec538b93a..ce162edf45 100644
--- a/keyboards/handwired/dc/mc/001/rules.mk
+++ b/keyboards/handwired/dc/mc/001/rules.mk
@@ -13,10 +13,7 @@ ENCODER_ENABLE = yes # Using a rotary encoder for volume control
MOUSEKEY_ENABLE = no # Mouse keys
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/ddg_56/rules.mk b/keyboards/handwired/ddg_56/rules.mk
index ac0b911826..38329b85da 100644
--- a/keyboards/handwired/ddg_56/rules.mk
+++ b/keyboards/handwired/ddg_56/rules.mk
@@ -6,14 +6,13 @@ BOARD = QMK_PROTON_C
BOOTLOADER = stm32-dfu
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = 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 = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
diff --git a/keyboards/handwired/dygma/raise/ansi/ansi.c b/keyboards/handwired/dygma/raise/ansi/ansi.c
new file mode 100644
index 0000000000..652b6551d2
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/ansi/ansi.c
@@ -0,0 +1,81 @@
+/* Copyright 2018-2021 James Laird-Wah, Islam Sharabash
+ *
+ * This program is free software: you can 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 "quantum.h"
+
+// "led_map" is taken from kaleidoscope
+// LHK = Left Hand Keys
+// LPH = "Leds per hand", which isn't _actually_ the number of leds, but instead
+// is just used for indexing
+#define LHK 33
+#define LPH 72
+
+const uint8_t led_map[DRIVER_LED_TOTAL] = {
+ // left side - 32 keys includes LP: key 19 is missing for ANSI layout
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 0xff, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 68, 69,
+
+ // right side - 36 keys includes LP
+ 0 + LPH, 1 + LPH, 2 + LPH, 3 + LPH, 4 + LPH, 5 + LPH, 6 + LPH, 15 + LPH, 8 + LPH, 9 + LPH, 10 + LPH, 11 + LPH, 12 + LPH, 13 + LPH, 14 + LPH, 7 + LPH, 16 + LPH, 17 + LPH, 18 + LPH, 19 + LPH,
+ 20 + LPH, 21 + LPH, 22 + LPH, 23 + LPH, 24 + LPH, 25 + LPH, 26 + LPH, 27 + LPH, 28 + LPH, 29 + LPH, 30 + LPH, 31 + LPH, 32 + LPH, 33 + LPH, 68 + LPH, 69 + LPH,
+
+ // left under glow - 30
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+
+ // right underglow - 32
+ 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH,
+ 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff
+};
+
+// taken from "key_led_map" and reformatted
+// ISO & ANSI (ANSI has no LED at 20, but this key can never be pressed so we can have just one map).
+led_config_t g_led_config = { {
+ // left hand
+ { 0 , 1 , 2 , 3 , 4 , 5 , 6 , NO_LED } ,
+ { 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , NO_LED } ,
+ { 13 , 14 , 15 , 16 , 17 , 18 , NO_LED , NO_LED } ,
+ { 19 , 20 , 21 , 22 , 23 , 24 , 25 , NO_LED } ,
+ { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } ,
+
+ // right hand
+ { NO_LED , 6 + LHK , 5 + LHK , 4 + LHK , 3 + LHK , 2 + LHK , 1 + LHK , 0 + LHK } ,
+ { 14 + LHK , 13 + LHK , 12 + LHK , 11 + LHK , 10 + LHK , 9 + LHK , 8 + LHK , 7 + LHK } ,
+ { NO_LED , 21 + LHK , 20 + LHK , 19 + LHK , 18 + LHK , 17 + LHK , 16 + LHK , 15 + LHK } ,
+ { NO_LED , NO_LED , 27 + LHK , 26 + LHK , 25 + LHK , 24 + LHK , 23 + LHK , 22 + LHK } ,
+ { 35 + LHK , 34 + LHK , 33 + LHK , 32 + LHK , 31 + LHK , 30 + LHK , 29 + LHK , 28 + LHK }
+ }, {
+ // generated from the svg image of the keyboard, see create-led-config.js
+ {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10},
+ {115, 10}, {84, 16}, {92, 16}, {98, 16}, {104, 16}, {110, 16}, {116, 16}, {85, 22},
+ {0, 0},
+ {94, 22}, {100, 22}, {106, 22}, {112, 22}, {118, 22}, {83, 28}, {90, 28}, {98, 28}, {106, 28}, {116, 28}, {111, 34},
+ {118, 34}, {168, 3}, {159, 3}, {153, 3}, {147, 3}, {141, 3}, {135, 3}, {129, 3}, {168, 16}, {162, 10}, {156, 10},
+ {150, 10}, {144, 10}, {139, 10}, {133, 10}, {127, 10}, {170, 10}, {159, 16}, {153, 16}, {147, 16}, {141, 16}, {135, 16},
+ {129, 16}, {166, 22}, {154, 22}, {148, 22}, {142, 22}, {136, 22}, {130, 22}, {170, 28}, {163, 28}, {156, 28}, {149, 28},
+ {140, 28}, {131, 28}, {136, 34}, {128, 34}, {78, 13}, {78, 6}, {80, 0}, {87, 0}, {95, 0}, {103, 0}, {111, 0}, {119, 0},
+ {122, 3}, {121, 9}, {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61},
+ {103, 64}, {96, 64}, {88, 64}, {81, 63}, {76, 60}, {75, 52}, {75, 46}, {74, 38}, {74, 32}, {75, 27}, {77, 21}, {175, 10},
+ {175, 4}, {172, 0}, {164, 0}, {157, 0}, {149, 0}, {142, 0}, {134, 0}, {127, 0}, {123, 3}, {122, 8}, {122, 15}, {124, 21},
+ {124, 27}, {124, 33}, {126, 38}, {131, 42}, {134, 48}, {135, 55}, {137, 61}, {143, 63}, {150, 63}, {158, 63}, {166, 63},
+ {173, 63}, {177, 59}, {178, 49}, {179, 40}, {179, 31}, {177, 25}, {175, 20}, {175, 15}, {123, 54}
+ }, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4
+ }
+};
diff --git a/keyboards/handwired/dygma/raise/ansi/info.json b/keyboards/handwired/dygma/raise/ansi/info.json
new file mode 100644
index 0000000000..f7f9a07c1c
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/ansi/info.json
@@ -0,0 +1,1115 @@
+{
+ "keyboard_name": "Dygma Raise",
+ "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
+ "maintainer": "ibash",
+ "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": 8.75,
+ "y": 0
+ },
+ {
+ "label": "8",
+ "x": 9.75,
+ "y": 0
+ },
+ {
+ "label": "9",
+ "x": 10.75,
+ "y": 0
+ },
+ {
+ "label": "0",
+ "x": 11.75,
+ "y": 0
+ },
+ {
+ "label": "-",
+ "x": 12.75,
+ "y": 0
+ },
+ {
+ "label": "+",
+ "x": 13.75,
+ "y": 0
+ },
+ {
+ "label": "backspace",
+ "w": 2,
+ "x": 14.75,
+ "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": 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": "enter",
+ "h": 2,
+ "w": 1.25,
+ "x": 15.5,
+ "y": 1
+ },
+ {
+ "label": "caps",
+ "w": 1.75,
+ "x": 0,
+ "y": 2
+ },
+ {
+ "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": "#",
+ "x": 14.5,
+ "y": 2
+ },
+ {
+ "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": 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",
+ "w": 2.75,
+ "x": 14,
+ "y": 3
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 0,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 1.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 2.5,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 11.75,
+ "y": 4
+ },
+ {
+ "label": "fn",
+ "w": 1.25,
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 14.25,
+ "y": 4
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 15.5,
+ "y": 4
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 5
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 5
+ }
+ ]
+ },
+ "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": 8.75,
+ "y": 0
+ },
+ {
+ "label": "8",
+ "x": 9.75,
+ "y": 0
+ },
+ {
+ "label": "9",
+ "x": 10.75,
+ "y": 0
+ },
+ {
+ "label": "0",
+ "x": 11.75,
+ "y": 0
+ },
+ {
+ "label": "-",
+ "x": 12.75,
+ "y": 0
+ },
+ {
+ "label": "+",
+ "x": 13.75,
+ "y": 0
+ },
+ {
+ "label": "backspace",
+ "w": 2,
+ "x": 14.75,
+ "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": 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": "\\",
+ "w": 1.5,
+ "x": 15.25,
+ "y": 1
+ },
+ {
+ "label": "caps",
+ "w": 1.75,
+ "x": 0,
+ "y": 2
+ },
+ {
+ "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",
+ "w": 2.25,
+ "x": 14.5,
+ "y": 2
+ },
+ {
+ "label": "shift",
+ "w": 2.25,
+ "x": 0,
+ "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": 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",
+ "w": 2.75,
+ "x": 14,
+ "y": 3
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 0,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 1.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 2.5,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 11.75,
+ "y": 4
+ },
+ {
+ "label": "fn",
+ "w": 1.25,
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 14.25,
+ "y": 4
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 15.5,
+ "y": 4
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 5
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 5
+ }
+ ]
+ },
+ "LAYOUT_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.75,
+ "y": 0
+ },
+ {
+ "label": "8",
+ "x": 9.75,
+ "y": 0
+ },
+ {
+ "label": "9",
+ "x": 10.75,
+ "y": 0
+ },
+ {
+ "label": "0",
+ "x": 11.75,
+ "y": 0
+ },
+ {
+ "label": "-",
+ "x": 12.75,
+ "y": 0
+ },
+ {
+ "label": "+",
+ "x": 13.75,
+ "y": 0
+ },
+ {
+ "label": "backspace",
+ "w": 2,
+ "x": 14.75,
+ "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": 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": "enter",
+ "h": 2,
+ "w": 1.25,
+ "x": 15.5,
+ "y": 1
+ },
+ {
+ "label": "caps",
+ "w": 1.75,
+ "x": 0,
+ "y": 2
+ },
+ {
+ "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": "#",
+ "x": 14.5,
+ "y": 2
+ },
+ {
+ "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": 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",
+ "w": 2.75,
+ "x": 14,
+ "y": 3
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 0,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 1.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 2.5,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 11.75,
+ "y": 4
+ },
+ {
+ "label": "fn",
+ "w": 1.25,
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 14.25,
+ "y": 4
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 15.5,
+ "y": 4
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 5
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 5
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dygma/raise/ansi/rules.mk b/keyboards/handwired/dygma/raise/ansi/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/ansi/rules.mk
diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h
new file mode 100644
index 0000000000..674fd592cf
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/config.h
@@ -0,0 +1,34 @@
+/* Copyright 2021 Islam Sharabash
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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 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
+#define MATRIX_COLS 8
+/* The scanners already debounce for us */
+#define DEBOUNCE 0
+
+#define DRIVER_LED_TOTAL 132
diff --git a/keyboards/handwired/dygma/raise/halconf.h b/keyboards/handwired/dygma/raise/halconf.h
new file mode 100644
index 0000000000..ebe78c3bec
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright (C) 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/handwired/dygma/raise/iso/info.json b/keyboards/handwired/dygma/raise/iso/info.json
new file mode 100644
index 0000000000..f7f9a07c1c
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/iso/info.json
@@ -0,0 +1,1115 @@
+{
+ "keyboard_name": "Dygma Raise",
+ "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/dygma/raise",
+ "maintainer": "ibash",
+ "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": 8.75,
+ "y": 0
+ },
+ {
+ "label": "8",
+ "x": 9.75,
+ "y": 0
+ },
+ {
+ "label": "9",
+ "x": 10.75,
+ "y": 0
+ },
+ {
+ "label": "0",
+ "x": 11.75,
+ "y": 0
+ },
+ {
+ "label": "-",
+ "x": 12.75,
+ "y": 0
+ },
+ {
+ "label": "+",
+ "x": 13.75,
+ "y": 0
+ },
+ {
+ "label": "backspace",
+ "w": 2,
+ "x": 14.75,
+ "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": 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": "enter",
+ "h": 2,
+ "w": 1.25,
+ "x": 15.5,
+ "y": 1
+ },
+ {
+ "label": "caps",
+ "w": 1.75,
+ "x": 0,
+ "y": 2
+ },
+ {
+ "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": "#",
+ "x": 14.5,
+ "y": 2
+ },
+ {
+ "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": 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",
+ "w": 2.75,
+ "x": 14,
+ "y": 3
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 0,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 1.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 2.5,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 11.75,
+ "y": 4
+ },
+ {
+ "label": "fn",
+ "w": 1.25,
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 14.25,
+ "y": 4
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 15.5,
+ "y": 4
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 5
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 5
+ }
+ ]
+ },
+ "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": 8.75,
+ "y": 0
+ },
+ {
+ "label": "8",
+ "x": 9.75,
+ "y": 0
+ },
+ {
+ "label": "9",
+ "x": 10.75,
+ "y": 0
+ },
+ {
+ "label": "0",
+ "x": 11.75,
+ "y": 0
+ },
+ {
+ "label": "-",
+ "x": 12.75,
+ "y": 0
+ },
+ {
+ "label": "+",
+ "x": 13.75,
+ "y": 0
+ },
+ {
+ "label": "backspace",
+ "w": 2,
+ "x": 14.75,
+ "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": 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": "\\",
+ "w": 1.5,
+ "x": 15.25,
+ "y": 1
+ },
+ {
+ "label": "caps",
+ "w": 1.75,
+ "x": 0,
+ "y": 2
+ },
+ {
+ "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",
+ "w": 2.25,
+ "x": 14.5,
+ "y": 2
+ },
+ {
+ "label": "shift",
+ "w": 2.25,
+ "x": 0,
+ "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": 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",
+ "w": 2.75,
+ "x": 14,
+ "y": 3
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 0,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 1.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 2.5,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 11.75,
+ "y": 4
+ },
+ {
+ "label": "fn",
+ "w": 1.25,
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 14.25,
+ "y": 4
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 15.5,
+ "y": 4
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 5
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 5
+ }
+ ]
+ },
+ "LAYOUT_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.75,
+ "y": 0
+ },
+ {
+ "label": "8",
+ "x": 9.75,
+ "y": 0
+ },
+ {
+ "label": "9",
+ "x": 10.75,
+ "y": 0
+ },
+ {
+ "label": "0",
+ "x": 11.75,
+ "y": 0
+ },
+ {
+ "label": "-",
+ "x": 12.75,
+ "y": 0
+ },
+ {
+ "label": "+",
+ "x": 13.75,
+ "y": 0
+ },
+ {
+ "label": "backspace",
+ "w": 2,
+ "x": 14.75,
+ "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": 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": "enter",
+ "h": 2,
+ "w": 1.25,
+ "x": 15.5,
+ "y": 1
+ },
+ {
+ "label": "caps",
+ "w": 1.75,
+ "x": 0,
+ "y": 2
+ },
+ {
+ "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": "#",
+ "x": 14.5,
+ "y": 2
+ },
+ {
+ "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": 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",
+ "w": 2.75,
+ "x": 14,
+ "y": 3
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 0,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 1.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 2.5,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 4
+ },
+ {
+ "label": "\u2014",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 4
+ },
+ {
+ "label": "...",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 4
+ },
+ {
+ "label": "alt",
+ "w": 1.25,
+ "x": 11.75,
+ "y": 4
+ },
+ {
+ "label": "fn",
+ "w": 1.25,
+ "x": 13,
+ "y": 4
+ },
+ {
+ "label": "os",
+ "w": 1.25,
+ "x": 14.25,
+ "y": 4
+ },
+ {
+ "label": "ctrl",
+ "w": 1.25,
+ "x": 15.5,
+ "y": 4
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 3.75,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 5.25,
+ "y": 5
+ },
+ {
+ "label": ".",
+ "w": 1.5,
+ "x": 8.75,
+ "y": 5
+ },
+ {
+ "label": "..",
+ "w": 1.5,
+ "x": 10.25,
+ "y": 5
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/dygma/raise/iso/iso.c b/keyboards/handwired/dygma/raise/iso/iso.c
new file mode 100644
index 0000000000..ec2607d06c
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/iso/iso.c
@@ -0,0 +1,79 @@
+/* Copyright 2018-2021 James Laird-Wah, Islam Sharabash
+ *
+ * This program is free software: you can 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 "quantum.h"
+
+// "led_map" is taken from kaleidoscope
+// LHK = Left Hand Keys
+// LPH = "Leds per hand", which isn't _actually_ the number of leds, but instead
+// is just used for indexing
+#define LHK 33
+#define LPH 72
+
+const uint8_t led_map[DRIVER_LED_TOTAL] = {
+ // left side - 33 keys
+ 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, 68, 69,
+
+ // right side - 36 keys
+ 0 + LPH, 1 + LPH, 2 + LPH, 3 + LPH, 4 + LPH, 5 + LPH, 6 + LPH, 15 + LPH, 8 + LPH, 9 + LPH, 10 + LPH, 11 + LPH, 12 + LPH, 13 + LPH, 14 + LPH, 7 + LPH, 16 + LPH, 17 + LPH, 18 + LPH, 19 + LPH,
+ 20 + LPH, 21 + LPH, 22 + LPH, 23 + LPH, 24 + LPH, 25 + LPH, 26 + LPH, 27 + LPH, 28 + LPH, 29 + LPH, 30 + LPH, 31 + LPH, 32 + LPH, 33 + LPH, 68 + LPH, 69 + LPH,
+
+ // left under glow - 30 keys
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+
+ // right underglow - 32 keys
+ 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH,
+ 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff
+};
+
+// taken from "key_led_map" and reformatted
+// ISO & ANSI (ANSI has no LED at 20, but this key can never be pressed so we can have just one map).
+led_config_t g_led_config = { {
+ // left hand
+ { 0 , 1 , 2 , 3 , 4 , 5 , 6 , NO_LED } ,
+ { 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , NO_LED } ,
+ { 13 , 14 , 15 , 16 , 17 , 18 , NO_LED , NO_LED } ,
+ { 19 , 20 , 21 , 22 , 23 , 24 , 25 , NO_LED } ,
+ { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } ,
+
+ // right hand
+ { NO_LED , 6 + LHK , 5 + LHK , 4 + LHK , 3 + LHK , 2 + LHK , 1 + LHK , 0 + LHK } ,
+ { 14 + LHK , 13 + LHK , 12 + LHK , 11 + LHK , 10 + LHK , 9 + LHK , 8 + LHK , 7 + LHK } ,
+ { NO_LED , 21 + LHK , 20 + LHK , 19 + LHK , 18 + LHK , 17 + LHK , 16 + LHK , 15 + LHK } ,
+ { NO_LED , NO_LED , 27 + LHK , 26 + LHK , 25 + LHK , 24 + LHK , 23 + LHK , 22 + LHK } ,
+ { 35 + LHK , 34 + LHK , 33 + LHK , 32 + LHK , 31 + LHK , 30 + LHK , 29 + LHK , 28 + LHK }
+ }, {
+ // generated from the svg image of the keyboard, see create-led-config.js
+ {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10},
+ {115, 10}, {84, 16}, {92, 16}, {98, 16}, {104, 16}, {110, 16}, {116, 16}, {82, 22}, {88, 22}, {94, 22}, {100, 22},
+ {106, 22}, {112, 22}, {118, 22}, {83, 28}, {90, 28}, {98, 28}, {106, 28}, {116, 28}, {111, 34}, {118, 34}, {168, 3},
+ {159, 3}, {153, 3}, {147, 3}, {141, 3}, {135, 3}, {129, 3}, {170, 13}, {162, 10}, {156, 10}, {150, 10}, {144, 10},
+ {139, 10}, {133, 10}, {127, 10}, {164, 16}, {158, 16}, {152, 16}, {146, 16}, {140, 16}, {134, 16}, {128, 16}, {166, 22},
+ {154, 22}, {148, 22}, {142, 22}, {136, 22}, {130, 22}, {170, 28}, {163, 28}, {156, 28}, {149, 28}, {140, 28}, {131, 28},
+ {136, 34}, {128, 34}, {78, 13}, {78, 6}, {80, 0}, {87, 0}, {95, 0}, {103, 0}, {111, 0}, {119, 0}, {122, 3}, {121, 9},
+ {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61}, {103, 64}, {96, 64},
+ {88, 64}, {81, 63}, {76, 60}, {75, 52}, {75, 46}, {74, 38}, {74, 32}, {75, 27}, {77, 21}, {175, 10}, {175, 4}, {172, 0},
+ {164, 0}, {157, 0}, {149, 0}, {142, 0}, {134, 0}, {127, 0}, {123, 3}, {122, 8}, {122, 15}, {124, 21}, {124, 27}, {124, 33},
+ {126, 38}, {131, 42}, {134, 48}, {135, 55}, {137, 61}, {143, 63}, {150, 63}, {158, 63}, {166, 63}, {173, 63}, {177, 59},
+ {178, 49}, {179, 40}, {179, 31}, {177, 25}, {175, 20}, {175, 15}, {123, 54}
+
+ }, {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4
+ }
+};
diff --git a/keyboards/handwired/dygma/raise/iso/rules.mk b/keyboards/handwired/dygma/raise/iso/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/iso/rules.mk
diff --git a/keyboards/handwired/dygma/raise/keymaps/ansi/keymap.c b/keyboards/handwired/dygma/raise/keymaps/ansi/keymap.c
new file mode 100644
index 0000000000..427b9ddb14
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/keymaps/ansi/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2021 Islam Sharabash
+ *
+ * This program is free software: you can 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
+
+enum {
+ QWERTY,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[QWERTY] = 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_TAB, KC_Q, KC_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, RGB_MOD, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL,
+ KC_BSPC, KC_ENT, KC_NO, KC_DEL
+)
+};
+
+/* template for new layouts:
+LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+)
+*/
diff --git a/keyboards/handwired/dygma/raise/keymaps/ansi/readme.md b/keyboards/handwired/dygma/raise/keymaps/ansi/readme.md
new file mode 100644
index 0000000000..ceafd78f41
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/keymaps/ansi/readme.md
@@ -0,0 +1 @@
+# The ansi keymap for Dygma's Raise
diff --git a/keyboards/handwired/dygma/raise/keymaps/default/keymap.c b/keyboards/handwired/dygma/raise/keymaps/default/keymap.c
new file mode 100644
index 0000000000..c766fb7203
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2021 Islam Sharabash
+ *
+ * This program is free software: you can 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
+
+enum {
+ QWERTY,
+};
+
+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_TAB, KC_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_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_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, RGB_MOD, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL,
+ KC_BSPC, KC_ENT, KC_NO, KC_DEL
+)
+};
+
+/* template for new layouts:
+LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+)
+*/
diff --git a/keyboards/handwired/dygma/raise/keymaps/default/readme.md b/keyboards/handwired/dygma/raise/keymaps/default/readme.md
new file mode 100644
index 0000000000..1103cb349b
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Dygma's Raise
diff --git a/keyboards/handwired/dygma/raise/keymaps/iso/keymap.c b/keyboards/handwired/dygma/raise/keymaps/iso/keymap.c
new file mode 100644
index 0000000000..2fd0b49b0b
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/keymaps/iso/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2021 Islam Sharabash
+ *
+ * This program is free software: you can 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
+
+enum {
+ QWERTY,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[QWERTY] = LAYOUT_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_ENT,
+ KC_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_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, RGB_MOD, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL,
+ KC_BSPC, KC_ENT, KC_NO, KC_DEL
+)
+};
+
+/* template for new layouts:
+LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______
+)
+*/
diff --git a/keyboards/handwired/dygma/raise/keymaps/iso/readme.md b/keyboards/handwired/dygma/raise/keymaps/iso/readme.md
new file mode 100644
index 0000000000..5f8924ae2c
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/keymaps/iso/readme.md
@@ -0,0 +1 @@
+# The iso keymap for Dygma's Raise
diff --git a/keyboards/handwired/dygma/raise/leds.c b/keyboards/handwired/dygma/raise/leds.c
new file mode 100644
index 0000000000..3f6037cbfa
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/leds.c
@@ -0,0 +1,101 @@
+/* Copyright 2018-2021 James Laird-Wah, Islam Sharabash
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "quantum.h"
+#include "i2c_master.h"
+#include "led_tables.h"
+#include "rgb_matrix.h"
+#include <string.h>
+#include "raise.h"
+#include "wire-protocol-constants.h"
+#include "print.h"
+#include "leds.h"
+
+struct __attribute__((packed)) cRGB {
+ uint8_t r;
+ uint8_t g;
+ uint8_t b;
+};
+
+#define LEDS_PER_HAND 72
+#define LED_BANKS 9
+#define LEDS_PER_BANK 8
+#define LED_BYTES_PER_BANK (sizeof(cRGB) * LEDS_PER_BANK)
+
+// shifting << 1 is because drivers/chibios/i2c_master.h expects the address
+// shifted.
+// 0x58 and 0x59 are the addresses defined in dygma/raise/Hand.h
+#define I2C_ADDR_LEFT (0x58 << 1)
+#define I2C_ADDR_RIGHT (0x59 << 1)
+#define I2C_ADDR(hand) ((hand) ? I2C_ADDR_RIGHT : I2C_ADDR_LEFT)
+#define LEFT 0
+#define RIGHT 1
+
+static cRGB led_state[2 * LEDS_PER_HAND];
+
+void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b) {
+ uint8_t buf[] = {TWI_CMD_LED_SET_ALL_TO, b, g, r};
+ i2c_transmit(I2C_ADDR(LEFT), buf, sizeof(buf), I2C_TIMEOUT);
+ wait_us(10);
+ i2c_transmit(I2C_ADDR(RIGHT), buf, sizeof(buf), I2C_TIMEOUT);
+ wait_us(10);
+}
+
+void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b) {
+ int sled = led_map[led];
+ uint8_t buf[] = {TWI_CMD_LED_SET_ONE_TO, sled & 0x1f, b, g, r};
+ int hand = (sled >= LEDS_PER_HAND) ? RIGHT : LEFT;
+ i2c_transmit(I2C_ADDR(hand), buf, sizeof(buf), I2C_TIMEOUT);
+ wait_us(10);
+}
+
+static void set_color(int index, uint8_t r, uint8_t g, uint8_t b) {
+ int sled = led_map[index];
+
+ led_state[sled].r = r;
+ led_state[sled].g = g;
+ led_state[sled].b = b;
+}
+
+static void set_color_all(uint8_t r, uint8_t g, uint8_t b) {
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) set_color(i, r, g, b);
+}
+
+static void init(void) {}
+
+static void flush(void) {
+ uint8_t command[1 + LED_BYTES_PER_BANK];
+
+ // SUBTLE(ibash) alternate hands when transmitting led data, otherwise the
+ // mcu in the hand seems to have trouble keeping up with the i2c
+ // transmission
+ for (int bank = 0; bank < LED_BANKS; bank++) {
+ for (int hand = 0; hand < 2; hand++) {
+ int addr = I2C_ADDR(hand);
+ int i = (hand * LEDS_PER_HAND) + (bank * LEDS_PER_BANK);
+ uint8_t *bank_data = (uint8_t *)&led_state[i];
+
+ command[0] = TWI_CMD_LED_BASE + bank;
+ memcpy(&command[1], bank_data, LED_BYTES_PER_BANK);
+ i2c_transmit(addr, command, sizeof(command), I2C_TIMEOUT);
+
+ // delay to prevent issues with the i2c bus
+ wait_us(10);
+ }
+ }
+}
+
+const rgb_matrix_driver_t rgb_matrix_driver = {.init = init, .flush = flush, .set_color = set_color, .set_color_all = set_color_all};
diff --git a/keyboards/handwired/dygma/raise/leds.h b/keyboards/handwired/dygma/raise/leds.h
new file mode 100644
index 0000000000..8d70ed70b2
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/leds.h
@@ -0,0 +1,25 @@
+/* Copyright 2018-2021 James Laird-Wah, Islam Sharabash
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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 "rgb_matrix.h"
+
+extern const uint8_t led_map[DRIVER_LED_TOTAL];
+
+void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b);
+void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b);
diff --git a/keyboards/handwired/dygma/raise/matrix.c b/keyboards/handwired/dygma/raise/matrix.c
new file mode 100644
index 0000000000..bbcf697a59
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/matrix.c
@@ -0,0 +1,104 @@
+/* Copyright 2018-2021 James Laird-Wah, Islam Sharabash
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "quantum.h"
+#include "i2c_master.h"
+#include <string.h>
+#include "wire-protocol-constants.h"
+
+// shifting << 1 is because drivers/chibios/i2c_master.h expects the address
+// shifted.
+// 0x58 and 0x59 are the addresses defined in dygma/raise/Hand.h
+#define I2C_ADDR_LEFT (0x58 << 1)
+#define I2C_ADDR_RIGHT (0x59 << 1)
+#define I2C_ADDR(hand) ((hand) ? I2C_ADDR_RIGHT : I2C_ADDR_LEFT)
+#define LEFT 0
+#define RIGHT 1
+
+/* If no key events have occurred, the scanners will time out on reads.
+ * So we don't want to be too permissive here. */
+// TODO(ibash) not convinced this is needed...
+#define MY_I2C_TIMEOUT 10
+#define ROWS_PER_HAND (MATRIX_ROWS / 2)
+
+typedef enum { CHANGED, OFFLINE, UNCHANGED } read_hand_t;
+
+static read_hand_t last_state[2] = {OFFLINE, OFFLINE};
+
+static read_hand_t i2c_read_hand(int hand, matrix_row_t current_matrix[]) {
+ // dygma raise firmware says online is true iff we get the number of
+ // expected bytes (e.g. 6 bytes or ROWS_PER_HAND + 1).
+ // In the case where no keys are pressed the keyscanner will send the same 0
+ // byte over and over. -- so this case is set.
+ //
+ // On the stm32 side if we don't get as many bytes as expecetd the
+ // i2c_receive times out -- so online can be defined as getting
+ // "I2C_STATUS_SUCCESS".
+
+ uint8_t buf[ROWS_PER_HAND + 1];
+ i2c_status_t ret = i2c_receive(I2C_ADDR(hand), buf, sizeof(buf), MY_I2C_TIMEOUT);
+ if (ret != I2C_STATUS_SUCCESS) {
+ return OFFLINE;
+ }
+
+ if (buf[0] != TWI_REPLY_KEYDATA) {
+ return UNCHANGED;
+ }
+
+ int start_row = hand ? ROWS_PER_HAND : 0;
+ matrix_row_t *out = &current_matrix[start_row];
+ memcpy(out, &buf[1], ROWS_PER_HAND);
+
+ return CHANGED;
+}
+
+static int i2c_set_keyscan_interval(int hand, int delay) {
+ uint8_t buf[] = {TWI_CMD_KEYSCAN_INTERVAL, delay};
+ i2c_status_t ret = i2c_transmit(I2C_ADDR(hand), buf, sizeof(buf), MY_I2C_TIMEOUT);
+ return ret;
+}
+
+void matrix_init_custom(void) {
+ i2c_init();
+
+ // ref: https://github.com/Dygmalab/Kaleidoscope/blob/7bac53de106c42ffda889e6854abc06cf43a3c6f/src/kaleidoscope/device/dygma/Raise.cpp#L83
+ // ref: https://github.com/Dygmalab/Kaleidoscope/blob/7bac53de106c42ffda889e6854abc06cf43a3c6f/src/kaleidoscope/device/dygma/raise/Hand.cpp#L73
+ i2c_set_keyscan_interval(LEFT, 50);
+ i2c_set_keyscan_interval(RIGHT, 50);
+}
+
+bool matrix_scan_custom(matrix_row_t current_matrix[]) {
+ // HACK(ibash) without the delay between the two calls to i2c_read_hand, the
+ // second call to i2c_read_hand breaks. I observed that the i2s start isn't
+ // sent, or maybe it is, but the address matcher in the attiny can't recognize
+ // it. In any case, a short delay fixes it.
+ read_hand_t left_state = i2c_read_hand(LEFT, current_matrix);
+ wait_us(10);
+ read_hand_t right_state = i2c_read_hand(RIGHT, current_matrix);
+
+
+ if ((last_state[LEFT] == OFFLINE && left_state != OFFLINE) || (last_state[RIGHT] == OFFLINE && right_state != OFFLINE)) {
+ // reinitialize both sides
+ i2c_set_keyscan_interval(LEFT, 50);
+ i2c_set_keyscan_interval(RIGHT, 50);
+ }
+
+ last_state[LEFT] = left_state;
+ last_state[RIGHT] = right_state;
+
+ bool matrix_has_changed = left_state == CHANGED || right_state == CHANGED;
+
+ return matrix_has_changed;
+}
diff --git a/keyboards/handwired/dygma/raise/mcuconf.h b/keyboards/handwired/dygma/raise/mcuconf.h
new file mode 100644
index 0000000000..fba1cace28
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2021 Islam Sharabash
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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_BUSY_TIMEOUT
+#define STM32_I2C_BUSY_TIMEOUT 5
diff --git a/keyboards/handwired/dygma/raise/raise.c b/keyboards/handwired/dygma/raise/raise.c
new file mode 100644
index 0000000000..d9023093b5
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/raise.c
@@ -0,0 +1,22 @@
+/* Copyright 2018-2021 James Laird-Wah, Islam Sharabash
+ *
+ * This program is free software: you can 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 "raise.h"
+
+void keyboard_post_init_kb(void) {
+ set_all_leds_to(0, 0, 0);
+ keyboard_post_init_user();
+}
diff --git a/keyboards/handwired/dygma/raise/raise.h b/keyboards/handwired/dygma/raise/raise.h
new file mode 100644
index 0000000000..6310fc3d08
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/raise.h
@@ -0,0 +1,83 @@
+/* Copyright 2018-2021 James Laird-Wah, Islam Sharabash
+ *
+ * This program is free software: you can 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"
+
+#include "leds.h"
+
+#define XXX KC_NO
+
+#define LAYOUT_all( \
+ L00, L01, L02, L03, L04, L05, L06, R06, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, R17, R16, R15, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, L25, R26, R25, R24, R23, R22, R21, R20, \
+ L30, L31, L32, L33, L34, L35, L36, R35, R34, R33, R32, R31, R30, \
+ L40, L41, L42, L43, L44, R45, R44, R43, R42, R41, R40, \
+ L46, L47, R47, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06, XXX }, \
+ { L10, L11, L12, L13, L14, L15, XXX, XXX }, \
+ { L20, L21, L22, L23, L24, L25, XXX, XXX }, \
+ { L30, L31, L32, L33, L34, L35, L36, XXX }, \
+ { L40, L41, L42, L43, L44, XXX, L46, L47 }, \
+ { R00, R01, R02, R03, R04, R05, R06, XXX }, \
+ { R10, R11, R12, R13, R14, R15, R16, R17 }, \
+ { R20, R21, R22, R23, R24, R25, R26, XXX }, \
+ { R30, R31, R32, R33, R34, R35, XXX, XXX }, \
+ { R40, R41, R42, R43, R44, R45, R46, R47 } \
+}
+
+#define LAYOUT_ansi( \
+ L00, L01, L02, L03, L04, L05, L06, R06, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, R17, R16, R15, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, L25, R26, R25, R24, R23, R22, R21, R20, \
+ L31 , L32, L33, L34, L35, L36, R35, R34, R33, R32, R31, R30, \
+ L40, L41, L42, L43, L44, R45, R44, R43, R42, R41, R40, \
+ L46, L47, R47, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06, XXX }, \
+ { L10, L11, L12, L13, L14, L15, XXX, XXX }, \
+ { L20, L21, L22, L23, L24, L25, XXX, XXX }, \
+ { XXX, L31, L32, L33, L34, L35, L36, XXX }, \
+ { L40, L41, L42, L43, L44, XXX, L46, L47 }, \
+ { R00, R01, R02, R03, R04, R05, R06, XXX }, \
+ { R10, R11, R12, R13, R14, R15, R16, R17 }, \
+ { R20, R21, R22, R23, R24, R25, R26, XXX }, \
+ { R30, R31, R32, R33, R34, R35, XXX, XXX }, \
+ { R40, R41, R42, R43, R44, R45, R46, R47 } \
+}
+
+#define LAYOUT_iso( \
+ L00, L01, L02, L03, L04, L05, L06, R06, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, R17, R16, R15, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, L25, R26, R25, R24, R23, R22, R21, R20, \
+ L30, L31, L32, L33, L34, L35, L36, R35, R34, R33, R32, R31, R30, \
+ L40, L41, L42, L43, L44, R45, R44, R43, R42, R41, R40, \
+ L46, L47, R47, R46 \
+) { \
+ { L00, L01, L02, L03, L04, L05, L06, XXX }, \
+ { L10, L11, L12, L13, L14, L15, XXX, XXX }, \
+ { L20, L21, L22, L23, L24, L25, XXX, XXX }, \
+ { L30, L31, L32, L33, L34, L35, L36, XXX }, \
+ { L40, L41, L42, L43, L44, XXX, L46, L47 }, \
+ { R00, R01, R02, R03, R04, R05, R06, XXX }, \
+ { R10, R11, R12, R13, R14, R15, R16, R17 }, \
+ { R20, R21, R22, R23, R24, R25, R26, XXX }, \
+ { R30, R31, R32, R33, R34, R35, XXX, XXX }, \
+ { R40, R41, R42, R43, R44, R45, R46, R47 } \
+}
diff --git a/keyboards/handwired/dygma/raise/readme.md b/keyboards/handwired/dygma/raise/readme.md
new file mode 100644
index 0000000000..219ea5f3c9
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/readme.md
@@ -0,0 +1,55 @@
+# Raise
+
+![](https://cdn.shopify.com/s/files/1/0374/9448/9228/files/Dygma-Raise-Hero2.png)
+
+* Keyboard Maintainer: [ibash](https://github.com/ibash)
+* Hardware Supported: [F411 Blackpill](https://github.com/WeActTC/MiniSTM32F4x1) with the [Dygma Raise](http://www.dygma.com)
+* Hardware Availability: See below
+
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/dygma/raise/ansi:default
+
+Flashing example for this keyboard:
+
+ make handwired/dygma/raise/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).
+
+## Hardware
+
+QMK does not currently support the [Dygma Neuron](https://dygma.com/products/neuron-black) because QMK does not support SAMD21 which the Neuron has.
+Instead this code uses a [STM32 Blackpill](https://github.com/WeActTC/MiniSTM32F4x1) to create a Neuron replacement.
+
+## Required Hardware
+
+1. [STM32 Blackpill from WeAct Studio](https://github.com/WeActTC/MiniSTM32F4x1) (via [aliexpress](https://www.aliexpress.com/item/1005001456186625.html) or [adafruit](https://www.adafruit.com/product/4877)).
+
+2. 2x USB-C breakouts (via [keeb](https://keeb.io/collections/diy-parts/products/usb-c-breakout-board) or [adafruit](https://www.adafruit.com/product/4090)).
+
+3. 2x 2.7KΩ resistors (via [digikey](https://www.digikey.com/en/products/detail/yageo/CFR-25JB-52-2K7/684)).
+
+4. Breadboard or PCB proto board, wires, solder, etc.
+
+## Wiring
+
+Briefly each raise hand uses I2C to communicate with the Neuron:
+
+1. USB D+ is the I2C clock line.
+2. USB D- is the I2C data line.
+3. The resistors are pullup resistors for the I2C lines.
+4. Each hand draws power from the USB port.
+
+![](https://i.imgur.com/ai9rcHal.png)
+
+<p float="left">
+ <img src="https://i.imgur.com/GvXfnpf.jpg" width="200">
+ <img src="https://i.imgur.com/kFKFjrU.jpg" width="200">
+</p>
+
+We are also prototyping a [custom pcb](https://www.reddit.com/r/DygmaLab/comments/ojgm95/pcb_for_running_qmk_on_the_raise/?utm_source=share&utm_medium=web2x&context=3).
+
+<p>
+ <img src="https://i.imgur.com/xfzIxkW.png" width="200">
+</p>
diff --git a/keyboards/handwired/dygma/raise/rules.mk b/keyboards/handwired/dygma/raise/rules.mk
new file mode 100644
index 0000000000..0fd9955715
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/rules.mk
@@ -0,0 +1,32 @@
+# MCU name
+MCU = STM32F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# 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 # USB Nkey 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 = custom
+CUSTOM_MATRIX = lite
+
+# TODO(ibash) we don't actually need to enable raw, but there's some side effect
+# in the usb driver this triggers that allows mousekeys to work. The same side
+# effect happens if console or midi is enabled -- so something to do with
+# alternate usb endpoints.
+RAW_ENABLE = yes
+
+QUANTUM_LIB_SRC += i2c_master.c
+SRC += leds.c matrix.c
+
+DEFAULT_FOLDER = handwired/dygma/raise/ansi
diff --git a/keyboards/handwired/dygma/raise/wire-protocol-constants.h b/keyboards/handwired/dygma/raise/wire-protocol-constants.h
new file mode 100644
index 0000000000..67c4ca0b23
--- /dev/null
+++ b/keyboards/handwired/dygma/raise/wire-protocol-constants.h
@@ -0,0 +1,51 @@
+/* KeyboardioScanner
+ * Copyright (C) 2015-2018 Keyboard.io, Inc
+ *
+ * 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.
+ */
+
+#pragma once
+
+#define TWI_CMD_NONE 0x00
+#define TWI_CMD_VERSION 0x01
+#define TWI_CMD_KEYSCAN_INTERVAL 0x02
+#define TWI_CMD_LED_SET_ALL_TO 0x03
+#define TWI_CMD_LED_SET_ONE_TO 0x04
+#define TWI_CMD_COLS_USE_PULLUPS 0x05
+#define TWI_CMD_LED_SPI_FREQUENCY 0x06
+
+#define LED_SPI_FREQUENCY_4MHZ 0x07
+#define LED_SPI_FREQUENCY_2MHZ 0x06
+#define LED_SPI_FREQUENCY_1MHZ 0x05
+#define LED_SPI_FREQUENCY_512KHZ 0x04
+#define LED_SPI_FREQUENCY_256KHZ 0x03
+#define LED_SPI_FREQUENCY_128KHZ 0x02
+#define LED_SPI_FREQUENCY_64KHZ 0x01
+#define LED_SPI_OFF 0x00
+
+
+// 512KHZ seems to be the sweet spot in early testing
+// so make it the default
+#define LED_SPI_FREQUENCY_DEFAULT LED_SPI_FREQUENCY_512KHZ
+
+
+#define TWI_CMD_LED_BASE 0x80
+
+#define TWI_REPLY_NONE 0x00
+#define TWI_REPLY_KEYDATA 0x01
diff --git a/keyboards/handwired/eagleii/rules.mk b/keyboards/handwired/eagleii/rules.mk
index 6b7ab7ed77..4350774cd1 100644
--- a/keyboards/handwired/eagleii/rules.mk
+++ b/keyboards/handwired/eagleii/rules.mk
@@ -12,8 +12,7 @@ MOUSEKEY_ENABLE = yes
EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
-SLEEP_LED_ENABLE = no
-NKRO_ENABLE = no
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/elrgo_s/rules.mk b/keyboards/handwired/elrgo_s/rules.mk
index 3262f7fad2..c5b46aa48e 100644
--- a/keyboards/handwired/elrgo_s/rules.mk
+++ b/keyboards/handwired/elrgo_s/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/ergocheap/rules.mk b/keyboards/handwired/ergocheap/rules.mk
index f57b313def..6a7bda4aef 100644
--- a/keyboards/handwired/ergocheap/rules.mk
+++ b/keyboards/handwired/ergocheap/rules.mk
@@ -15,10 +15,8 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+SLEEP_LED_ENABLE = yes
diff --git a/keyboards/handwired/evk/v1_3/rules.mk b/keyboards/handwired/evk/v1_3/rules.mk
index 3388265b2f..ad5f5465e8 100644
--- a/keyboards/handwired/evk/v1_3/rules.mk
+++ b/keyboards/handwired/evk/v1_3/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/fc200rt_qmk/rules.mk b/keyboards/handwired/fc200rt_qmk/rules.mk
index c7a6e6d6a8..0a8f3c2740 100644
--- a/keyboards/handwired/fc200rt_qmk/rules.mk
+++ b/keyboards/handwired/fc200rt_qmk/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+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/handwired/fivethirteen/keymaps/default/keymap.c b/keyboards/handwired/fivethirteen/keymaps/default/keymap.c
index d92f32e35c..b68e81e81c 100644
--- a/keyboards/handwired/fivethirteen/keymaps/default/keymap.c
+++ b/keyboards/handwired/fivethirteen/keymaps/default/keymap.c
@@ -8,31 +8,31 @@
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, \
- CTL_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_UP, KC_BSLS, \
- MO(MOS), KC_LCTL, KC_LALT, KC_LGUI, MO(HDN), KC_SPC , SFT_BSP, MO(OSY), MO(HDN), KC_LEFT, KC_DOWN, KC_RGHT \
+ 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_LBRC, KC_RBRC,
+ CTL_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_UP, KC_BSLS,
+ MO(MOS), KC_LCTL, KC_LALT, KC_LGUI, MO(HDN), KC_SPC , SFT_BSP, MO(OSY), MO(HDN), KC_LEFT, KC_DOWN, KC_RGHT
),
[HDN] = 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_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, \
- _______, KC_TILD, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TILD, KC_GRV, _______, \
- _______, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______, KC_PGUP, _______, \
- _______, _______, _______, _______, _______, KC_UNDS , KC_DEL, _______, _______, KC_HOME, KC_PGDN, 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_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______,
+ _______, KC_TILD, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TILD, KC_GRV, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, KC_UNDS , KC_DEL, _______, _______, KC_HOME, KC_PGDN, KC_END
),
[OSY] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[MOS] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, KC_WH_D, KC_WH_U, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_WH_D, KC_WH_U, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/fivethirteen/rules.mk b/keyboards/handwired/fivethirteen/rules.mk
index f03e4cf375..9b2c210d42 100644
--- a/keyboards/handwired/fivethirteen/rules.mk
+++ b/keyboards/handwired/fivethirteen/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/floorboard/rules.mk b/keyboards/handwired/floorboard/rules.mk
index 8892d2239f..f8ef7da37a 100644
--- a/keyboards/handwired/floorboard/rules.mk
+++ b/keyboards/handwired/floorboard/rules.mk
@@ -13,10 +13,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/frankie_macropad/rules.mk b/keyboards/handwired/frankie_macropad/rules.mk
index 41c6491fb8..46e261ffcb 100644
--- a/keyboards/handwired/frankie_macropad/rules.mk
+++ b/keyboards/handwired/frankie_macropad/rules.mk
@@ -12,12 +12,12 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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
LTO_ENABLE = yes
+SPACE_CADET_ENABLE = no
+MAGIC_ENABLE = no
+GRAVE_ESC_ENABLE = no
diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
index 1ead4e50e1..c926576f97 100644
--- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c
+++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
@@ -64,16 +64,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------/ \-------------/ .. \-------------/ \-------------/ *
*/
[_BASE] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
- KC_ESC, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_DIAE, BP_DCIR, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \
- KC_TAB, BP_B, BP_EACU, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \
- BP_GRV, BP_A, BP_U, BP_E, BP_I, BP_F, BP_SCLN, BP_EXLM, BP_C, BP_T, BP_S, BP_R, BP_N, BP_QUOT, \
- M_SF, BP_Z, BP_AGRV, BP_Y, BP_X, KC_RBRC, M_SFS, BP_CBSP, L2INS, L2LOC, BP_CDEL, M_SFS, BP_M, BP_G, KC_UP, BP_H, BP_Q, M_SF, \
- KC_LCTL, KC_LGUI, KC_PSLS, BP_DOT, BP_COMM, KC_SPACE,M_L1E, KC_LALT, KC_CAPS, M_L1E, KC_SPACE, KC_LEFT, KC_DOWN, KC_RIGHT,BP_COLN, KC_RCTL, \
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_ESC, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_DIAE, BP_DCIR, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC,
+ KC_TAB, BP_B, BP_EACU, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT,
+ BP_GRV, BP_A, BP_U, BP_E, BP_I, BP_F, BP_SCLN, BP_EXLM, BP_C, BP_T, BP_S, BP_R, BP_N, BP_QUOT,
+ M_SF, BP_Z, BP_AGRV, BP_Y, BP_X, KC_RBRC, M_SFS, BP_CBSP, L2INS, L2LOC, BP_CDEL, M_SFS, BP_M, BP_G, KC_UP, BP_H, BP_Q, M_SF,
+ KC_LCTL, KC_LGUI, KC_PSLS, BP_DOT, BP_COMM, KC_SPACE,M_L1E, KC_LALT, KC_CAPS, M_L1E, KC_SPACE, KC_LEFT, KC_DOWN, KC_RIGHT,BP_COLN, KC_RCTL,
//left pedals
- M_LP, M_RP, KC_TRNS, \
+ M_LP, M_RP, KC_TRNS,
//right pedals
- M_LP, M_RP, KC_TRNS \
+ M_LP, M_RP, KC_TRNS
),
/* Larer 1 for symbols.
@@ -96,16 +96,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
*/
[_SYMBOLS] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, BP_CURR, BP_PARA, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_CARN, BP_LEQL, BP_GEQL, BP_PLMN, BP_DIV, BP_MUL, KC_TRNS, \
- KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_NEQL, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PERM, KC_TRNS, \
- KC_TRNS, BP_EQL, BP_UGRV, BP_LPRN, BP_RPRN, BP_PLUS, BP_COLN, BP_QUES, BP_CCED, BP_LABK, BP_RABK, BP_AMPR, BP_UNDS, KC_TRNS, \
- KC_TRNS, M_UN, M_CUT, M_CP, M_PS, M_SE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BP_DLR, BP_EQL, KC_PGUP, BP_PIPE, BP_SLSH, KC_TRNS, \
- KC_TRNS, KC_TRNS, BP_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, BP_CURR, BP_PARA, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_CARN, BP_LEQL, BP_GEQL, BP_PLMN, BP_DIV, BP_MUL, KC_TRNS,
+ KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_NEQL, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PERM, KC_TRNS,
+ KC_TRNS, BP_EQL, BP_UGRV, BP_LPRN, BP_RPRN, BP_PLUS, BP_COLN, BP_QUES, BP_CCED, BP_LABK, BP_RABK, BP_AMPR, BP_UNDS, KC_TRNS,
+ KC_TRNS, M_UN, M_CUT, M_CP, M_PS, M_SE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BP_DLR, BP_EQL, KC_PGUP, BP_PIPE, BP_SLSH, KC_TRNS,
+ KC_TRNS, KC_TRNS, BP_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS,
//left pedals
- KC_TRNS, KC_BTN1, KC_TRNS, \
+ KC_TRNS, KC_BTN1, KC_TRNS,
//right pedals
- KC_TRNS, KC_BTN1, KC_TRNS \
+ KC_TRNS, KC_BTN1, KC_TRNS
),
/* MEDIA, mouse and numpad.
@@ -128,16 +128,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
*/
[_MEDIA] = LAYOUT(
- RESET, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_PMNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_BTN4, KC_BTN5, KC_BTN4, KC_BTN5, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, KC_TRNS, \
- KC_TRNS, M_UN, M_CUT, M_CP, M_PS, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, KC_KP_1, KC_KP_2, KC_KP_3, 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_TRNS, KC_KP_0, KC_PDOT, BP_DOT, BP_COMM, KC_TRNS, \
+ RESET, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_CALC, KC_NLCK,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MPRV, KC_MNXT, KC_MPLY, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_TRNS, KC_PMNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS, KC_BTN4, KC_BTN5, KC_BTN4, KC_BTN5, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, KC_TRNS,
+ KC_TRNS, M_UN, M_CUT, M_CP, M_PS, KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, KC_KP_1, KC_KP_2, KC_KP_3, 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_TRNS, KC_KP_0, KC_PDOT, BP_DOT, BP_COMM, KC_TRNS,
//left pedals
- KC_BTN3, M_RP, KC_TRNS, \
+ KC_BTN3, M_RP, KC_TRNS,
//right pedals
- KC_BTN3, M_RP, KC_TRNS \
+ KC_BTN3, M_RP, KC_TRNS
),
/* TRNS - skeleton for laters
@@ -160,16 +160,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_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, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
//left pedals
- KC_BTN3, M_RP, KC_TRNS, \
+ KC_BTN3, M_RP, KC_TRNS,
//right pedals
- KC_BTN3, M_RP, KC_TRNS \
+ KC_BTN3, M_RP, KC_TRNS
),
};
diff --git a/keyboards/handwired/frenchdev/rules.mk b/keyboards/handwired/frenchdev/rules.mk
index 1a4cab63dc..88a48968f1 100644
--- a/keyboards/handwired/frenchdev/rules.mk
+++ b/keyboards/handwired/frenchdev/rules.mk
@@ -5,7 +5,7 @@ MCU = atmega32u4
BOOTLOADER = halfkay
# Build Options
-# comment out to disable the options.
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
@@ -13,8 +13,7 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
CUSTOM_MATRIX = yes # Custom matrix file (taken and adapted from the ErgoDox EZ to handle custom number of columns)
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/freoduo/rules.mk b/keyboards/handwired/freoduo/rules.mk
index 882e6b62ce..a214cbef1f 100644
--- a/keyboards/handwired/freoduo/rules.mk
+++ b/keyboards/handwired/freoduo/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/fruity60/rules.mk b/keyboards/handwired/fruity60/rules.mk
index 19da0629e5..74628e3e6f 100644
--- a/keyboards/handwired/fruity60/rules.mk
+++ b/keyboards/handwired/fruity60/rules.mk
@@ -15,10 +15,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/gamenum/keymaps/default/keymap.c b/keyboards/handwired/gamenum/keymaps/default/keymap.c
index 237b0fb927..8b768850c8 100644
--- a/keyboards/handwired/gamenum/keymaps/default/keymap.c
+++ b/keyboards/handwired/gamenum/keymaps/default/keymap.c
@@ -7,25 +7,25 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DEF] = LAYOUT(
- TO(HDN), KC_SLSH, KC_ASTR, KC_MINS, \
- KC_7, KC_8, KC_9, KC_PLUS, \
- KC_4, KC_5, KC_6, \
- KC_1, KC_2, KC_3, \
- KC_0, KC_DOT, KC_ENT \
+ TO(HDN), KC_SLSH, KC_ASTR, KC_MINS,
+ KC_7, KC_8, KC_9, KC_PLUS,
+ KC_4, KC_5, KC_6,
+ KC_1, KC_2, KC_3,
+ KC_0, KC_DOT, KC_ENT
),
[HDN] = LAYOUT(
- TO(OSY), KC_1, KC_2, KC_3, \
- KC_Q, KC_W, KC_E, KC_R, \
- KC_A, KC_S, KC_D, \
- KC_Z, KC_X, KC_C, \
- KC_LSFT, KC_LALT, KC_SPC \
+ TO(OSY), KC_1, KC_2, KC_3,
+ KC_Q, KC_W, KC_E, KC_R,
+ KC_A, KC_S, KC_D,
+ KC_Z, KC_X, KC_C,
+ KC_LSFT, KC_LALT, KC_SPC
),
[OSY] = LAYOUT(
- KC_A, KC_Q, KC_1, TO(DEF), \
- KC_S, KC_W, KC_2, KC_LALT, \
- KC_D, KC_E, KC_3, \
- KC_F, KC_R, KC_4, \
- KC_SPC, KC_T, KC_TAB \
+ KC_A, KC_Q, KC_1, TO(DEF),
+ KC_S, KC_W, KC_2, KC_LALT,
+ KC_D, KC_E, KC_3,
+ KC_F, KC_R, KC_4,
+ KC_SPC, KC_T, KC_TAB
)
};
diff --git a/keyboards/handwired/gamenum/rules.mk b/keyboards/handwired/gamenum/rules.mk
index 0f5e7479f6..63aadefc79 100644
--- a/keyboards/handwired/gamenum/rules.mk
+++ b/keyboards/handwired/gamenum/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/hacked_motospeed/keymaps/default/config.h b/keyboards/handwired/hacked_motospeed/keymaps/default/config.h
deleted file mode 100644
index 72de214ba7..0000000000
--- a/keyboards/handwired/hacked_motospeed/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Vladislav Opara <Deckweiss75@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
-
-// place overrides here \ No newline at end of file
diff --git a/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c b/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c
index be3d5fdbd2..05f1dc51dc 100644
--- a/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c
+++ b/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c
@@ -23,10 +23,10 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
- KC_ESC, 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_LPRN, KC_RPRN, \
- KC_PEQL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_QUES, \
- XXXXXXX, XXXXXXX, KC_BSPC, KC_ENT, KC_SPC, KC_LSFT, KC_LCTRL, KC_LALT, KC_ALGR, KC_LWIN, XXXXXXX \
+ KC_ESC, 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_LPRN, KC_RPRN,
+ KC_PEQL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_QUES,
+ XXXXXXX, XXXXXXX, KC_BSPC, KC_ENT, KC_SPC, KC_LSFT, KC_LCTRL, KC_LALT, KC_ALGR, KC_LWIN, XXXXXXX
),
};
diff --git a/keyboards/handwired/hacked_motospeed/rules.mk b/keyboards/handwired/hacked_motospeed/rules.mk
index 6a8ad8fe82..2dbbeb1188 100644
--- a/keyboards/handwired/hacked_motospeed/rules.mk
+++ b/keyboards/handwired/hacked_motospeed/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/heisenberg/rules.mk b/keyboards/handwired/heisenberg/rules.mk
index aa55581bfc..5a725c5973 100644
--- a/keyboards/handwired/heisenberg/rules.mk
+++ b/keyboards/handwired/heisenberg/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = yes # Audio output
diff --git a/keyboards/handwired/hexon38/rules.mk b/keyboards/handwired/hexon38/rules.mk
index 3a565a9774..b092156024 100644
--- a/keyboards/handwired/hexon38/rules.mk
+++ b/keyboards/handwired/hexon38/rules.mk
@@ -4,16 +4,15 @@ MCU = atmega32u4
# Bootloader selection
BOOTLOADER = halfkay
-# Enabled build options:
+# 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 # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-
-# Disabled build options:
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/hillside/0_1/0_1.c b/keyboards/handwired/hillside/0_1/0_1.c
new file mode 100644
index 0000000000..ee096f18a7
--- /dev/null
+++ b/keyboards/handwired/hillside/0_1/0_1.c
@@ -0,0 +1,4 @@
+// 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
new file mode 100644
index 0000000000..0aeefdf630
--- /dev/null
+++ b/keyboards/handwired/hillside/0_1/0_1.h
@@ -0,0 +1,34 @@
+// 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/config.h b/keyboards/handwired/hillside/0_1/config.h
new file mode 100644
index 0000000000..c83b23d0e8
--- /dev/null
+++ b/keyboards/handwired/hillside/0_1/config.h
@@ -0,0 +1,35 @@
+// Copyright 2021 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
+
+/* 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/0_1/info.json b/keyboards/handwired/hillside/0_1/info.json
new file mode 100644
index 0000000000..4505bf3e35
--- /dev/null
+++ b/keyboards/handwired/hillside/0_1/info.json
@@ -0,0 +1,13 @@
+{
+ "matrix_pins": {
+ "rows": ["D7", "E6", "B4", "B5"],
+ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"]
+ },
+ "diode_direction": "COL2ROW",
+
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x67C0",
+ "device_ver": "0x0001"
+ }
+}
diff --git a/keyboards/handwired/hillside/0_1/rules.mk b/keyboards/handwired/hillside/0_1/rules.mk
new file mode 100644
index 0000000000..2501147ea8
--- /dev/null
+++ b/keyboards/handwired/hillside/0_1/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
new file mode 100644
index 0000000000..7a29df1c64
--- /dev/null
+++ b/keyboards/handwired/hillside/info.json
@@ -0,0 +1,97 @@
+{
+ "manufacturer": "mmccoyd",
+ "maintainer": "mmccoyd",
+
+ "keyboard_name": "Hillside",
+ "url": "http://github.com/mmccoyd/hillside/",
+
+ "tags": ["split", "column stagger", "choc v1", "choc spaced" ],
+
+ "processor": "atmega32u4",
+
+ "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/keymaps/default/keymap.json b/keyboards/handwired/hillside/keymaps/default/keymap.json
new file mode 100644
index 0000000000..f5871b073f
--- /dev/null
+++ b/keyboards/handwired/hillside/keymaps/default/keymap.json
@@ -0,0 +1,102 @@
+{
+ "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",
+ "author": "@mmccoyd",
+ "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_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"
+
+ ],
+ ["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_LCTL", "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_GRV",
+ "KC_ESC" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT",
+
+ "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP"
+
+ ],
+ ["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_LCTL", "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_GRV",
+ "KC_ESC" , "KC_K" , "KC_H" , "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"
+
+ ],
+ ["KC_CAPS", "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU",
+ "KC_PGUP", "KC_HOME" , "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL",
+
+ "KC_LCTL", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_VOLD",
+ "KC_PGDN", "KC_LEFT" , "KC_UP" , "KC_RGHT" , "KC_NO" , "KC_RCTL",
+
+ "KC_LSFT", "LCTL(KC_Z)", "LCTL(KC_X)" , "LCTL(KC_C)", "LCTL(KC_V)" , "LCTL(KC_Y)", "KC_MUTE",
+ "KC_ESC" , "KC_NO" , "LCTL(KC_LEFT)", "KC_DOWN" , "LCTL(KC_RGHT)", "KC_RALT" , "KC_RSFT",
+
+ "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
+ "MO(6)" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS"
+
+ ],
+ ["KC_F12" , "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_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5",
+ "KC_PIPE", "KC_LSFT" , "KC_LCTL" , "KC_LALT" , "KC_LGUI" , "KC_RCTL",
+
+ "KC_LSFT", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11",
+ "KC_ESC" , "KC_BSLS" , "KC_LBRC" , "KC_RBRC" , "KC_LCBR" , "KC_RCBR" , "KC_RSFT",
+
+ "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(6)",
+ "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS"
+
+ ],
+ ["KC_NO" , "KC_MINS" , "KC_PLUS" , "KC_EQL" , "KC_SLSH" , "KC_ASTR",
+ "KC_COMM", "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS",
+
+ "KC_TRNS", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_NO",
+ "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS" , "KC_RCTL",
+
+ "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_TRNS"
+
+ ],
+ ["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" , "KC_NO" , "KC_NO",
+ "RGB_MOD", "RGB_VAI" , "RGB_HUI" , "RGB_SAI" , "KC_NO" , "KC_NO",
+
+ "RESET" , "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"
+
+ ]
+ ]
+}
diff --git a/keyboards/handwired/hillside/keymaps/default/readme.md b/keyboards/handwired/hillside/keymaps/default/readme.md
new file mode 100644
index 0000000000..a982c0c380
--- /dev/null
+++ b/keyboards/handwired/hillside/keymaps/default/readme.md
@@ -0,0 +1,216 @@
+# 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 |
+| CTRL | A | S | D | F | G |---------------------------| H | J | K | L | ; | ' |
+| SHIFT | Z | X | C | V | B | ~ |---------------| ESC | N | M | , | . | / | SHIFT |
+--------------|ENTER|-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| APP |--------------
+```
+
+The base layer can be either of QWERTY, Colemak-DH or Dvorak,
+ with identical non-alpha and non-symbol keys.
+QWERTY is the default.
+
+A standard keyboard layout is used for:
+
+- Tab, backspace and shift keys in the outer columns.
+- Alt/option and GUI/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.
+- Enter is on the left thumb or ring finger.
+ This location allowed preserving the more common right-hand keys.
+ Feel free to swap it with the quote key or have it share the right shift key
+ as a mod-tap key.
+- Control is in the caps lock spot.
+- Esc and `~ are above the thumbs.
+- The rarer AltGr key is in a layer.
+
+<details>
+<summary>Details of Dvorak and Colemak-DH</summary>
+In the Dvorak layout, the outer home row key 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 |
+| CTRL | A | O | E | U | I |---------------------------| D | H | T | N | S | / |
+| SHIFT | ; | Q | J | K | X | ~ |---------------| ESC | B | M | W | V | Z | SHIFT |
+--------------|ENTER|-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| APP |--------------
+
+Colemak-DH
+| TAB | Q | W | F | P | B |---------------------------| J | L | U | Y | ; | BKSPC |
+| CTRL | A | R | S | T | G |---------------------------| M | N | E | I | O | ' |
+| SHIFT | Z | X | C | D | V | ~ |---------------| ESC | K | H | , | . | / | SHIFT |
+--------------|ENTER|-----| GUI | ALT | Num | Nav |---| Sym |SPACE| ALT | GUI |-----| APP |--------------
+```
+</details>
+
+## Navigation, Editing and Media Layer
+
+```
+| CAPS | INS | | | |VOL+ |---------------------------|PG_UP|HOME | | END| | DEL |
+| CTRL | GUI | ALT |CTRL |SHIFT|VOL- |---------------------------|PG_DN|LEFT | UP |RIGHT| | CTRL |
+| SHIFT |UNDO | CUT |COPY |PASTE|REDO |MUTE |---------------| ESC | |WORDL|DOWN |WORDR|RALT | SHIFT |
+--------------|ENTER|-----| GUI | ALT | Num | *** |---| Adj |BSPC | ALT | GUI |-----| APP |--------------
+```
+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.
+- AltGr and caps lock fill out the layer.
+- A few keys do nothing and are available for more user-specific needs.
+
+## Symbol and Function Layer
+
+```
+| F12 | ! | @ | # | $ | % |---------------------------| ^ | & | * | ( | ) | BSPC |
+| CTRL | F1 | F2 | F3 | F4 | F5 |---------------------------| | |SHIFT|CTRL | ALT | GUI | CTRL |
+| SHIFT | F6 | F7 | F8 | F9 | F10 | F11 |---------------| ESC | \ | [ | ] | { | } | SHIFT |
+--------------|ENTER|-----| GUI | ALT | Num | Adj |---| *** |SPACE| ALT | GUI |-----| APP |--------------
+```
+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.
+- The remaining 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
+```
+| | - | + | = | / | * |---------------------------| . | 7 | 8 | 9 | | BSPC |
+| CTRL | GUI | ALT |CTRL |SHIFT| |---------------------------| 0 | 1 | 2 | 3 | _ | CTRL |
+| SHIFT | | | | | | |---------------| ESC | , | 4 | 5 | 6 | | SHIFT |
+--------------|ENTER|-----| GUI | ALT | *** | |---| |BSPC | ALT | GUI |-----| APP |--------------
+```
+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|-----------------------| | | | | | |
+| | | | | | |---------------------------|MOD+ |BRI+ |HUE+ |SAT+ | | |
+| RESET | | | | | | |--------------|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/keymaps/json2hill.py --input <Your download directory>/default.json > ./keyboards/handwired/hillside/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/keymaps/json2hill.py b/keyboards/handwired/hillside/keymaps/json2hill.py
new file mode 100755
index 0000000000..a9971c0d78
--- /dev/null
+++ b/keyboards/handwired/hillside/keymaps/json2hill.py
@@ -0,0 +1,136 @@
+#!/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/keymaps/via/keymap.json b/keyboards/handwired/hillside/keymaps/via/keymap.json
new file mode 100644
index 0000000000..8b4810c309
--- /dev/null
+++ b/keyboards/handwired/hillside/keymaps/via/keymap.json
@@ -0,0 +1,101 @@
+{
+ "version": 1,
+ "notes": "",
+ "keyboard": "handwired/hillside/0_1",
+ "author": "@mmccoyd",
+ "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_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"
+
+ ],
+ ["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_LCTL", "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_GRV",
+ "KC_ESC" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT",
+
+ "KC_ENT" , "KC_LGUI" , "KC_LALT" , "MO(5)" , "MO(3)",
+ "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" , "KC_APP"
+
+ ],
+ ["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_LCTL", "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_GRV",
+ "KC_ESC" , "KC_K" , "KC_H" , "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"
+
+ ],
+ ["KC_CAPS", "KC_INS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_VOLU",
+ "KC_PGUP", "KC_HOME" , "KC_NO" , "KC_END" , "KC_NO" , "KC_DEL",
+
+ "KC_LCTL", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_VOLD",
+ "KC_PGDN", "KC_LEFT" , "KC_UP" , "KC_RGHT" , "KC_NO" , "KC_RCTL",
+
+ "KC_LSFT", "LCTL(KC_Z)", "LCTL(KC_X)" , "LCTL(KC_C)", "LCTL(KC_V)" , "LCTL(KC_Y)", "KC_MUTE",
+ "KC_ESC" , "KC_NO" , "LCTL(KC_LEFT)", "KC_DOWN" , "LCTL(KC_RGHT)", "KC_RALT" , "KC_RSFT",
+
+ "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
+ "MO(6)" , "KC_BSPC" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS"
+
+ ],
+ ["KC_F12" , "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_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5",
+ "KC_PIPE", "KC_LSFT" , "KC_LCTL" , "KC_LALT" , "KC_LGUI" , "KC_RCTL",
+
+ "KC_LSFT", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11",
+ "KC_ESC" , "KC_BSLS" , "KC_LBRC" , "KC_RBRC" , "KC_LCBR" , "KC_RCBR" , "KC_RSFT",
+
+ "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(6)",
+ "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS"
+
+ ],
+ ["KC_NO" , "KC_MINS" , "KC_PLUS" , "KC_EQL" , "KC_SLSH" , "KC_ASTR",
+ "KC_COMM", "KC_7" , "KC_8" , "KC_9" , "KC_NO" , "KC_TRNS",
+
+ "KC_TRNS", "KC_LGUI" , "KC_LALT" , "KC_LCTL" , "KC_LSFT" , "KC_NO",
+ "KC_0" , "KC_1" , "KC_2" , "KC_3" , "KC_UNDS" , "KC_RCTL",
+
+ "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_TRNS"
+
+ ],
+ ["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" , "KC_NO" , "KC_NO",
+ "RGB_MOD", "RGB_VAI" , "RGB_HUI" , "RGB_SAI" , "KC_NO" , "KC_NO",
+
+ "RESET" , "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"
+
+ ]
+ ]
+}
diff --git a/keyboards/handwired/hillside/readme.md b/keyboards/handwired/hillside/readme.md
new file mode 100644
index 0000000000..f1ff0f8506
--- /dev/null
+++ b/keyboards/handwired/hillside/readme.md
@@ -0,0 +1,29 @@
+# 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/hnah108/rules.mk b/keyboards/handwired/hnah108/rules.mk
index a89ccfc24b..1b9d6c699d 100644
--- a/keyboards/handwired/hnah108/rules.mk
+++ b/keyboards/handwired/hnah108/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/hnah40/rules.mk b/keyboards/handwired/hnah40/rules.mk
index 69b5017cac..cd1aba4f8e 100644
--- a/keyboards/handwired/hnah40/rules.mk
+++ b/keyboards/handwired/hnah40/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/hnah40rgb/rules.mk b/keyboards/handwired/hnah40rgb/rules.mk
index f909608db9..2991d29477 100644
--- a/keyboards/handwired/hnah40rgb/rules.mk
+++ b/keyboards/handwired/hnah40rgb/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/ibm122m/rules.mk b/keyboards/handwired/ibm122m/rules.mk
index 188c6964cf..317e8a5ae8 100644
--- a/keyboards/handwired/ibm122m/rules.mk
+++ b/keyboards/handwired/ibm122m/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
diff --git a/keyboards/handwired/ibm_wheelwriter/rules.mk b/keyboards/handwired/ibm_wheelwriter/rules.mk
index bcf7f652ec..354f194ca2 100644
--- a/keyboards/handwired/ibm_wheelwriter/rules.mk
+++ b/keyboards/handwired/ibm_wheelwriter/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/jn68m/keymaps/default/config.h b/keyboards/handwired/jn68m/keymaps/default/config.h
deleted file mode 100644
index 4496c59100..0000000000
--- a/keyboards/handwired/jn68m/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/jn68m/rules.mk b/keyboards/handwired/jn68m/rules.mk
index 4f07d21872..5bbac480b2 100644
--- a/keyboards/handwired/jn68m/rules.mk
+++ b/keyboards/handwired/jn68m/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/jopr/rules.mk b/keyboards/handwired/jopr/rules.mk
index a176f4ed58..6157d25454 100644
--- a/keyboards/handwired/jopr/rules.mk
+++ b/keyboards/handwired/jopr/rules.mk
@@ -5,15 +5,14 @@ MCU = atmega32u4
BOOTLOADER = atmel-dfu
# Build Options
-# comment out to disable the 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
UNICODE_ENABLE = yes
diff --git a/keyboards/handwired/jot50/keymaps/default/keymap.c b/keyboards/handwired/jot50/keymaps/default/keymap.c
index 2693fbff3c..62f0db5b7e 100644
--- a/keyboards/handwired/jot50/keymaps/default/keymap.c
+++ b/keyboards/handwired/jot50/keymaps/default/keymap.c
@@ -9,35 +9,16 @@
// 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 3
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
-/* Funct
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | caps | F11 | F12 | | | | | - | = | [ | ] | \ |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | vol- | mute | vol+ | | | | _ | + | { | } | | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | prev | play | next | | | | | | | | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | | | | | | | | home | pgdn | pgup | end |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- */
-#define _FUNCT LAYOUT_ortho_5x12 (\
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,\
- KC_CAPS, KC_F11, KC_F12, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,\
- _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,\
- _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______,\
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END\
-)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@@ -50,20 +31,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
* | lshift | Z | X | C | V | B | N | M | , | . | / | enter |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | lctrl | lgui | lalt | ralt | lower | space | space | raise | left | down | up | right |
+ * | lctrl | lgui | lalt | ralt | lower | space | space | raise | left | down | up | right |
* +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
*/
[_QWERTY] = LAYOUT_ortho_5x12 (
- 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_ESC, 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_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
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, KC_LALT, KC_RALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
-[_LOWER] = _FUNCT,
+[_LOWER] = LAYOUT_ortho_5x12 (
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ KC_CAPS, KC_F11, KC_F12, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+),
-[_RAISE] = _FUNCT,
+[_RAISE] = LAYOUT_ortho_5x12 (
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ KC_CAPS, KC_F11, KC_F12, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+),
[_ADJUST] = LAYOUT_ortho_5x12 (
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/handwired/jot50/rules.mk b/keyboards/handwired/jot50/rules.mk
index 176396dd7e..eb0954f776 100644
--- a/keyboards/handwired/jot50/rules.mk
+++ b/keyboards/handwired/jot50/rules.mk
@@ -5,20 +5,16 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-
BOOTMAGIC_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
LAYOUTS = ortho_5x12
diff --git a/keyboards/handwired/jotanck/rules.mk b/keyboards/handwired/jotanck/rules.mk
index c2646d991c..73167aeed7 100644
--- a/keyboards/handwired/jotanck/rules.mk
+++ b/keyboards/handwired/jotanck/rules.mk
@@ -5,20 +5,16 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-
BOOTMAGIC_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
LAYOUTS = ortho_4x12
diff --git a/keyboards/handwired/jotpad16/rules.mk b/keyboards/handwired/jotpad16/rules.mk
index 90206294f8..b746275c89 100644
--- a/keyboards/handwired/jotpad16/rules.mk
+++ b/keyboards/handwired/jotpad16/rules.mk
@@ -5,20 +5,16 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-
BOOTMAGIC_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
LAYOUTS = ortho_4x4
diff --git a/keyboards/handwired/jtallbean/split_65/rules.mk b/keyboards/handwired/jtallbean/split_65/rules.mk
index 6832f7dc23..898951758f 100644
--- a/keyboards/handwired/jtallbean/split_65/rules.mk
+++ b/keyboards/handwired/jtallbean/split_65/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/juliet/rules.mk b/keyboards/handwired/juliet/rules.mk
index 1ab42df828..35dd707645 100644
--- a/keyboards/handwired/juliet/rules.mk
+++ b/keyboards/handwired/juliet/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/k8split/rules.mk b/keyboards/handwired/k8split/rules.mk
index ab32e6f717..172f6cbeca 100644
--- a/keyboards/handwired/k8split/rules.mk
+++ b/keyboards/handwired/k8split/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/k_numpad17/rules.mk b/keyboards/handwired/k_numpad17/rules.mk
index 90645230e0..4cb57769e9 100644
--- a/keyboards/handwired/k_numpad17/rules.mk
+++ b/keyboards/handwired/k_numpad17/rules.mk
@@ -5,14 +5,14 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# comment out to disable the 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 = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
diff --git a/keyboards/handwired/kbod/keymaps/default/config.h b/keyboards/handwired/kbod/keymaps/default/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/handwired/kbod/keymaps/default/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/kbod/keymaps/default/keymap.c b/keyboards/handwired/kbod/keymaps/default/keymap.c
index 3119784e26..333f8a769f 100644
--- a/keyboards/handwired/kbod/keymaps/default/keymap.c
+++ b/keyboards/handwired/kbod/keymaps/default/keymap.c
@@ -29,32 +29,32 @@ if (record->event.pressed) { \
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT( /* Base */
- SFT_ESC, KC_1, KC_2, KC_3, ALT_F4, 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, \
- TT(1), KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL \
+ SFT_ESC, KC_1, KC_2, KC_3, ALT_F4, 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,
+ TT(1), KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
),
LAYOUT( /* Cursor layer */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
- TT(3), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
- TT(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_END, KC_UP, \
- _______, _______, _______, _______, _______, 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,
+ TT(3), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
+ TT(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_END, KC_UP,
+ _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
),
LAYOUT( /* Keypad layer */
- TO(0), KC_1, KC_2, KC_3, ALT_F4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_BSPC, \
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_BTN1, KC_MS_U, KC_BTN2, \
- _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN3 \
+ TO(0), KC_1, KC_2, KC_3, ALT_F4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_BSPC,
+ _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_BTN1, KC_MS_U, KC_BTN2,
+ _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN3
),
LAYOUT( /* Multimedia layer */
- TO(0), _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, \
- _______, _______, KC_WAKE, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_MNXT, _______, \
- _______, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_PWR, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_WH_U, KC_BTN2, \
- _______, _______, _______, KC_MPLY, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3 \
+ TO(0), _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______,
+ _______, _______, KC_WAKE, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPRV, KC_MNXT, _______,
+ _______, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_PWR, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_WH_U, KC_BTN2,
+ _______, _______, _______, KC_MPLY, KC_WH_L, KC_WH_D, KC_WH_R, KC_BTN3
),
};
diff --git a/keyboards/handwired/kbod/keymaps/default/rules.mk b/keyboards/handwired/kbod/keymaps/default/rules.mk
index bb1904fca1..0db36fdd09 100644
--- a/keyboards/handwired/kbod/keymaps/default/rules.mk
+++ b/keyboards/handwired/kbod/keymaps/default/rules.mk
@@ -1,14 +1,9 @@
-# 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 = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
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
+NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/kbod/rules.mk b/keyboards/handwired/kbod/rules.mk
index 63a9b256d0..8d562b0bd1 100644
--- a/keyboards/handwired/kbod/rules.mk
+++ b/keyboards/handwired/kbod/rules.mk
@@ -12,9 +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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/ks63/rules.mk b/keyboards/handwired/ks63/rules.mk
index b23419abef..c54f041bc3 100644
--- a/keyboards/handwired/ks63/rules.mk
+++ b/keyboards/handwired/ks63/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/lagrange/rules.mk b/keyboards/handwired/lagrange/rules.mk
index 5743bb1590..574caf2395 100644
--- a/keyboards/handwired/lagrange/rules.mk
+++ b/keyboards/handwired/lagrange/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/leftynumpad/rules.mk b/keyboards/handwired/leftynumpad/rules.mk
index 9906266f48..1275531ef6 100644
--- a/keyboards/handwired/leftynumpad/rules.mk
+++ b/keyboards/handwired/leftynumpad/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/lovelive9/rules.mk b/keyboards/handwired/lovelive9/rules.mk
index 33250a81bb..d835456fe5 100644
--- a/keyboards/handwired/lovelive9/rules.mk
+++ b/keyboards/handwired/lovelive9/rules.mk
@@ -5,19 +5,14 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/macroboard/chconf.h b/keyboards/handwired/macroboard/chconf.h
new file mode 100644
index 0000000000..de4ab83ec3
--- /dev/null
+++ b/keyboards/handwired/macroboard/chconf.h
@@ -0,0 +1,39 @@
+/* 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/blackpill_f401/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_FREQUENCY 10000
+
+#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
+
+#include_next <chconf.h>
+
diff --git a/keyboards/handwired/macroboard/config.h b/keyboards/handwired/macroboard/config.h
new file mode 100644
index 0000000000..92b633d75c
--- /dev/null
+++ b/keyboards/handwired/macroboard/config.h
@@ -0,0 +1,141 @@
+/*
+Copyright 2021 Michał Szczepaniak
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have 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 0xFEED
+#define PRODUCT_ID 0x6465
+#define DEVICE_VER 0x0001
+#define MANUFACTURER QMK
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#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 { A15, B3, B4, B5, B7 }
+#define MATRIX_COL_PINS { B12, B13, B14, B15, A8, A10 }
+#define UNUSED_PINS
+
+#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
+
+#define RGB_DI_PIN B9
+#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 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
+#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
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/macroboard/info.json b/keyboards/handwired/macroboard/info.json
new file mode 100644
index 0000000000..2aa44eb803
--- /dev/null
+++ b/keyboards/handwired/macroboard/info.json
@@ -0,0 +1,41 @@
+{
+ "keyboard_name": "macroboard",
+ "url": "",
+ "maintainer": "Michał Szczepaniak",
+ "layouts": {
+ "LAYOUT_ortho_5x6": {
+ "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": "k45", "x": 5, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/macroboard/keymaps/default/keymap.c b/keyboards/handwired/macroboard/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ec587ee25d
--- /dev/null
+++ b/keyboards/handwired/macroboard/keymaps/default/keymap.c
@@ -0,0 +1,27 @@
+/* Copyright 2021 Michał Szczepaniak
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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_5x6(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5,
+ 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, KC_LALT, RESET, KC_SPC
+ )
+};
+
diff --git a/keyboards/handwired/macroboard/keymaps/default/readme.md b/keyboards/handwired/macroboard/keymaps/default/readme.md
new file mode 100644
index 0000000000..39fa5888ed
--- /dev/null
+++ b/keyboards/handwired/macroboard/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for macroboard
diff --git a/keyboards/handwired/dactyl_left/keymaps/default/config.h b/keyboards/handwired/macroboard/macroboard.c
index 729cab1684..f9d41ff162 100644
--- a/keyboards/handwired/dactyl_left/keymaps/default/config.h
+++ b/keyboards/handwired/macroboard/macroboard.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 RedForty
+/* Copyright 2021 Michał Szczepaniak
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,6 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#pragma once
-
-// place overrides here
+#include "macroboard.h"
diff --git a/keyboards/handwired/macroboard/macroboard.h b/keyboards/handwired/macroboard/macroboard.h
new file mode 100644
index 0000000000..9909e63afc
--- /dev/null
+++ b/keyboards/handwired/macroboard/macroboard.h
@@ -0,0 +1,41 @@
+/* Copyright 2021 Michał Szczepaniak
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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_5x6( \
+ 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 \
+) { \
+ { 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 } \
+}
diff --git a/keyboards/handwired/macroboard/readme.md b/keyboards/handwired/macroboard/readme.md
new file mode 100644
index 0000000000..ee2351f99f
--- /dev/null
+++ b/keyboards/handwired/macroboard/readme.md
@@ -0,0 +1,27 @@
+# macroboard
+
+![macroboard](https://i.imgur.com/AY5Y1Ez.png)
+
+3D printable half preonic (5x6 OLKB) with purpose of being macroboard or if you want to have different switches for gaming while having normal full keyboard for typing.
+
+* Keyboard Maintainer: [Michał Szczepaniak](https://github.com/Michal-Szczepaniak)
+* Hardware Supported: Blackpill
+* Hardware Availability: [OpenSCAD files](https://github.com/Michal-Szczepaniak/macroboard-openscad)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/macroboard:default
+
+Flashing example for this keyboard:
+
+ make handwired/macroboard: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 `RESET` if it is available, by default 5th column, 5th row
diff --git a/keyboards/handwired/macroboard/rules.mk b/keyboards/handwired/macroboard/rules.mk
new file mode 100644
index 0000000000..2c38ac2807
--- /dev/null
+++ b/keyboards/handwired/macroboard/rules.mk
@@ -0,0 +1,19 @@
+# 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 = 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
+KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/magicforce61/keymaps/default/keymap.c b/keyboards/handwired/magicforce61/keymaps/default/keymap.c
index 5f4440a171..7f1c073203 100644
--- a/keyboards/handwired/magicforce61/keymaps/default/keymap.c
+++ b/keyboards/handwired/magicforce61/keymaps/default/keymap.c
@@ -11,43 +11,43 @@
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_MINS, KC_EQL, 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_MINS, KC_EQL, KC_BSPC,
/*|esc-----`-1------`-2------`-3------`-4------`-5------`-6------`-7------`-8------`-9------`-0------`mnus----`plus----`--bksp--| */
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
/*|tab-----`-q------`-w------`-e------`-r------`-t------`-y------`-u------`-i------`-o------`-p------`-{------`-}------`--|-----| */
- NAV_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, \
+ NAV_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,
/*|caps----`-a------`-s------`-d------`-f------`-g------`-h------`-j------`-k------`-l------`-;------`-'------`-----------enter-| */
- 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_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
/*|shift---`-z------`-x------`-c------`-v------`-b------`-n------`-m------`-,------`-.------`-/------`--------------------shift-| */
- KC_LCTL, KC_RGUI, KC_LALT, KC_SPC, KC_X1, KC_RALT, KC_RCTL, KC_X1 \
+ KC_LCTL, KC_RGUI, KC_LALT, KC_SPC, KC_X1, KC_RALT, KC_RCTL, KC_X1
/*`ctrl----`-gui----`-alt----`------------------space---------------------------------------`-fn-----`-alt----`ctrl----' ANY */
),
[_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, KC_BSPC, \
+ KC_GRV, KC_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,
/*|esc-----`-1------`-2------`-3------`-4------`-5------`-6------`-7------`-8------`-9------`-0------`mnus----`plus----`--bksp--| */
- _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, KC_PSCR, _______, _______, _______, _______, \
+ _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, KC_PSCR, _______, _______, _______, _______,
/*|tab-----`-q------`-w------`-e------`-r------`-t------`-y------`-u------`-i------`-o------`-p------`-{------`-}------`--|-----| */
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, \
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______,
/*|caps----`-a------`-s------`-d------`-f------`-g------`-h------`-j------`-k------`-l------`-;------`-'------`-----------enter-| */
- _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______,
/*|shift---`-z------`-x------`-c------`-v------`-b------`-n------`-m------`-,------`-.------`-/------`--------------------shift-| */
- _______, _______, _______, _______, _______, _______, _______, KC_MPLY \
+ _______, _______, _______, _______, _______, _______, _______, KC_MPLY
/*`ctrl----`-gui----`-alt----`------------------space---------------------------------------`-fn-----`-alt----`ctrl----' ANY */
),
[_FN2] = 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_BSPC, \
+ KC_GRV, KC_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,
/*|esc-----`-1------`-2------`-3------`-4------`-5------`-6------`-7------`-8------`-9------`-0------`mnus----`plus----`--bksp--| */
- _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______,
/*|tab-----`-q------`-w------`-e------`-r------`-t------`-y------`-u------`-i------`-o------`-p------`-{------`-}------`--|-----| */
- _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______,
/*|caps----`-a------`-s------`-d------`-f------`-g------`-h------`-j------`-k------`-l------`-;------`-'------`-----------enter-| */
- _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, \
+ _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______,
/*|shift---`-z------`-x------`-c------`-v------`-b------`-n------`-m------`-,------`-.------`-/------`--------------------shift-| */
- _______, _______, _______, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, _______, _______, _______
/*`ctrl----`-gui----`-alt----`------------------space---------------------------------------`-fn-----`-alt----`ctrl----' ANY */
)
};
diff --git a/keyboards/handwired/magicforce61/rules.mk b/keyboards/handwired/magicforce61/rules.mk
index d3dcd6478c..b521ebe7dd 100644
--- a/keyboards/handwired/magicforce61/rules.mk
+++ b/keyboards/handwired/magicforce61/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/magicforce68/keymaps/default/keymap.c b/keyboards/handwired/magicforce68/keymaps/default/keymap.c
index e44cfefdb1..a52c2ec4a4 100644
--- a/keyboards/handwired/magicforce68/keymaps/default/keymap.c
+++ b/keyboards/handwired/magicforce68/keymaps/default/keymap.c
@@ -9,26 +9,26 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN, \
- KC_X0, KC_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_X1, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
+ 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_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_X0, KC_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_X1, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_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, KC_BSPC, KC_VOLU, KC_HOME, \
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, \
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE, \
- _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT \
+ KC_GRV, KC_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_VOLU, KC_HOME,
+ _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
),
[_FN2] = 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_BSPC, KC_VOLU, KC_HOME, \
- _______, _______, _______, KC_UP, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, KC_VOLD, KC_END, \
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, KC_MUTE, \
- _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT \
+ KC_GRV, KC_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_VOLU, KC_HOME,
+ _______, _______, _______, KC_UP, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, KC_VOLD, KC_END,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
)
};
diff --git a/keyboards/handwired/magicforce68/rules.mk b/keyboards/handwired/magicforce68/rules.mk
index 0f5e7479f6..63aadefc79 100644
--- a/keyboards/handwired/magicforce68/rules.mk
+++ b/keyboards/handwired/magicforce68/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/marauder/rules.mk b/keyboards/handwired/marauder/rules.mk
index 517abca1d4..8fa2de12ba 100644
--- a/keyboards/handwired/marauder/rules.mk
+++ b/keyboards/handwired/marauder/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+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/handwired/mechboards_micropad/keymaps/default/keymap.c b/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c
index 7d83718419..fa0c8e97af 100644
--- a/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c
+++ b/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c
@@ -27,7 +27,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
- MECHBOARDURL, QMKURL, MKUK, LEDCHANGE \
+ MECHBOARDURL, QMKURL, MKUK, LEDCHANGE
),
};
diff --git a/keyboards/handwired/mechboards_micropad/rules.mk b/keyboards/handwired/mechboards_micropad/rules.mk
index 5799903139..339bf624d0 100644
--- a/keyboards/handwired/mechboards_micropad/rules.mk
+++ b/keyboards/handwired/mechboards_micropad/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/meck_tkl/blackpill_f401/chconf.h b/keyboards/handwired/meck_tkl/blackpill_f401/chconf.h
new file mode 100644
index 0000000000..ad51f8cbe6
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/blackpill_f401/chconf.h
@@ -0,0 +1,39 @@
+/* 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/meck_tkl/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_FREQUENCY 10000
+
+#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
+
+#include_next <chconf.h>
+
diff --git a/keyboards/handwired/meck_tkl/blackpill_f401/config.h b/keyboards/handwired/meck_tkl/blackpill_f401/config.h
new file mode 100644
index 0000000000..cca2eac3a9
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/blackpill_f401/config.h
@@ -0,0 +1,14 @@
+// Copyright 2021 Gabriel Kim (@gabrielkim13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define MATRIX_ROW_PINS \
+ { 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
new file mode 100644
index 0000000000..e01b22e8fd
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/blackpill_f401/rules.mk
@@ -0,0 +1,10 @@
+# MCU name
+MCU = STM32F401
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/handwired/meck_tkl/config.h b/keyboards/handwired/meck_tkl/config.h
new file mode 100644
index 0000000000..5c22e781e4
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/config.h
@@ -0,0 +1,47 @@
+// Copyright 2021 Gabriel Kim (@gabrielkim13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#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
+
+/*
+ * 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
+
+/* 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
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/meck_tkl/info.json b/keyboards/handwired/meck_tkl/info.json
new file mode 100644
index 0000000000..5976b67584
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/info.json
@@ -0,0 +1,103 @@
+{
+ "keyboard_name": "meck_tkl",
+ "url": "github.com/gabrielkim13",
+ "maintainer": "gabrielkim13",
+ "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": "Back Space", "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": "Left 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": "Right Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
+ { "label": "Up", "x": 16.25, "y": 4.5 },
+
+ { "label": "Left Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
+ { "label": "Left OS", "x": 1.25, "y": 5.5, "w": 1.25 },
+ { "label": "Left Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
+ { "label": "Space", "x": 3.75, "y": 5.5, "w": 6.25 },
+ { "label": "Right Alt", "x": 10, "y": 5.5, "w": 1.25 },
+ { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
+ { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
+ { "label": "Right 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 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/meck_tkl/keymaps/default/keymap.c b/keyboards/handwired/meck_tkl/keymaps/default/keymap.c
new file mode 100644
index 0000000000..1df1318db5
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/keymaps/default/keymap.c
@@ -0,0 +1,29 @@
+// Copyright 2021 Gabriel Kim (@gabrielkim13)
+// 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,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = 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, MO(1), KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN] = LAYOUT_tkl_ansi(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, KC_SLEP,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/handwired/meck_tkl/keymaps/default/readme.md b/keyboards/handwired/meck_tkl/keymaps/default/readme.md
new file mode 100644
index 0000000000..9e2994008a
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for meck_tkl
diff --git a/keyboards/handwired/meck_tkl/meck_tkl.c b/keyboards/handwired/meck_tkl/meck_tkl.c
new file mode 100644
index 0000000000..2668b440ec
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/meck_tkl.c
@@ -0,0 +1,4 @@
+// Copyright 2021 Gabriel Kim (@gabrielkim13)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "meck_tkl.h"
diff --git a/keyboards/handwired/meck_tkl/meck_tkl.h b/keyboards/handwired/meck_tkl/meck_tkl.h
new file mode 100644
index 0000000000..a7417dbafe
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/meck_tkl.h
@@ -0,0 +1,38 @@
+// Copyright 2021 Gabriel Kim (@gabrielkim13)
+// 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.
+ *
+ *
+ * | Esc | | F1 | F2 | F3 | F4 | | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 | | SLk | Pau | NLk |
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Back | | Ins | Hom | PUp |
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | | Del | End | PDn |
+ * | 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 | fn | Menu | Ctrl | | < | v | > |
+ */
+#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 , 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 , \
+ k50 , k51 , k52 , k53 , k54 , k55 , k56 , k57 , k58 , k59 , k5A \
+) { \
+ { k00, KC_NO, 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, 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, k3C, KC_NO, KC_NO, KC_NO }, \
+ { k40, KC_NO, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, KC_NO, k4B, KC_NO, k4C, KC_NO }, \
+ { k50, k51, k52, KC_NO, KC_NO, KC_NO, k53, KC_NO, KC_NO, KC_NO, k54, k55, k56, k57, k58, k59, k5A } \
+}
diff --git a/keyboards/handwired/meck_tkl/readme.md b/keyboards/handwired/meck_tkl/readme.md
new file mode 100644
index 0000000000..ec09047dde
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/readme.md
@@ -0,0 +1,37 @@
+# meck_tkl
+
+![meck_tkl](https://i.imgur.com/eIpQTjQ.jpeg)
+
+A standard tenkeyless keyboard, using STM32 Blackpill.
+
+* Keyboard Maintainer: [Gabriel Kim](https://github.com/gabrielkim13)
+* Hardware Supported: Blackpill F401
+* Hardware Availability: [Thingiverse: Mechanical Keyboard - MECH - TKL](https://www.thingiverse.com/thing:4225961)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/meck_tkl:default
+
+Flashing example for this keyboard:
+
+ make handwired/meck_tkl: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 `RESET` if it is available
+
+## Wiring instructions
+
+- On Blackpill boards, **avoid** using the following pins, since they will cause either USB enumeration or the DFU bootloader to not work correctly:
+ - **USB-related pins:** `PA10`, `PA11`, `PA12`
+ - **BOOT1 pin:** `PB2`
+
+Sample wiring:
+
+![wiring](https://i.imgur.com/jIDmsNy.jpg)
diff --git a/keyboards/handwired/meck_tkl/rules.mk b/keyboards/handwired/meck_tkl/rules.mk
new file mode 100644
index 0000000000..6213285117
--- /dev/null
+++ b/keyboards/handwired/meck_tkl/rules.mk
@@ -0,0 +1,16 @@
+# 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
+AUDIO_SUPPORTED = no
+BACKLIGHT_SUPPORTED = no
+
+DEFAULT_FOLDER = handwired/meck_tkl/blackpill_f401
diff --git a/keyboards/handwired/minorca/keymaps/default/keymap.c b/keyboards/handwired/minorca/keymaps/default/keymap.c
index f8f9061fec..d9368e0f01 100644
--- a/keyboards/handwired/minorca/keymaps/default/keymap.c
+++ b/keyboards/handwired/minorca/keymaps/default/keymap.c
@@ -8,21 +8,21 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
- 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_ENT, \
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_QUOT, MO(2), MO(1), \
- XXXXXXX, XXXXXXX, KC_LALT, KC_SPC, KC_SPC, KC_DOT, KC_SLSH, XXXXXXX \
+ 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_ENT,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_QUOT, MO(2), MO(1),
+ XXXXXXX, XXXXXXX, KC_LALT, KC_SPC, KC_SPC, KC_DOT, KC_SLSH, XXXXXXX
),
[1] = LAYOUT( /* First */
- 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_MPRV, KC_MPLY, KC_MNXT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LGUI, \
- KC_LCTL, KC_Z, KC_X, KC_C, KC_PGDN, KC_END, KC_L, KC_SCLN, KC_UP, _______, _______, \
- XXXXXXX, XXXXXXX, KC_LALT, _______, _______, KC_DOWN, KC_RGHT, XXXXXXX \
+ 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_MPRV, KC_MPLY, KC_MNXT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LGUI,
+ KC_LCTL, KC_Z, KC_X, KC_C, KC_PGDN, KC_END, KC_L, KC_SCLN, KC_UP, _______, _______,
+ XXXXXXX, XXXXXXX, KC_LALT, _______, _______, KC_DOWN, KC_RGHT, XXXXXXX
),
[2] = LAYOUT( /* Second */
- KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
- KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_ENT, \
- KC_CAPS, KC_LSFT, KC_RSFT, KC_PAUS, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_UP, _______, _______, \
- XXXXXXX, XXXXXXX, KC_LALT, _______, _______, KC_DOWN, KC_RGHT, XXXXXXX \
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_ENT,
+ KC_CAPS, KC_LSFT, KC_RSFT, KC_PAUS, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_UP, _______, _______,
+ XXXXXXX, XXXXXXX, KC_LALT, _______, _______, KC_DOWN, KC_RGHT, XXXXXXX
),
};
diff --git a/keyboards/handwired/minorca/keymaps/readme.md b/keyboards/handwired/minorca/keymaps/readme.md
deleted file mode 100644
index 058923ba25..0000000000
--- a/keyboards/handwired/minorca/keymaps/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# How to add your own keymap
-
-Folders can be named however you'd like (will be approved upon merging), or should follow the format with a preceding `_`:
-
- _[ISO 3166-1 alpha-2 code*]_[layout variant]_[layout name/author]
-
-\* See full list: https://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements
-
-and contain the following files:
-
-* `keymap.c`
-* `readme.md` *recommended*
-* `config.h` *optional*, found automatically when compiling
-* `Makefile` *optional*, found automatically when compling
-
-When adding your keymap to this list, keep it organised alphabetically (select list, edit->sort lines), and use this format:
-
- * **folder_name** description
-
-# List of Minorca keymaps
-
-* **default** default Minorca layout
-* **rgb** layout with WS2812b control
diff --git a/keyboards/handwired/minorca/rules.mk b/keyboards/handwired/minorca/rules.mk
index d1fe5d8a28..ec925a763e 100644
--- a/keyboards/handwired/minorca/rules.mk
+++ b/keyboards/handwired/minorca/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/misterdeck/config.h b/keyboards/handwired/misterdeck/config.h
new file mode 100644
index 0000000000..3aaef79d0a
--- /dev/null
+++ b/keyboards/handwired/misterdeck/config.h
@@ -0,0 +1,45 @@
+/*
+Copyright 2021 Chris Broekema (broekema@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
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xBEEF
+#define PRODUCT_ID 0x6969
+#define DEVICE_VER 0x0001
+#define MANUFACTURER QMK
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 4
+
+#define MATRIX_ROW_PINS { D1, D0, D4 }
+#define MATRIX_COL_PINS { D7, E6, 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 NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+//#define JOYSTICK_AXES_COUNT 4
+//#define JOYSTICK_BUTTON_COUNT 8
diff --git a/keyboards/handwired/misterdeck/info.json b/keyboards/handwired/misterdeck/info.json
new file mode 100644
index 0000000000..84c3863107
--- /dev/null
+++ b/keyboards/handwired/misterdeck/info.json
@@ -0,0 +1,5 @@
+{
+ "keyboard_name": "MisteRdeck",
+ "url": "https://www.thingiverse.com/thing:4627779",
+ "maintainer": "broekema",
+}
diff --git a/keyboards/handwired/misterdeck/keymaps/default/config.h b/keyboards/handwired/misterdeck/keymaps/default/config.h
new file mode 100644
index 0000000000..c21c29910b
--- /dev/null
+++ b/keyboards/handwired/misterdeck/keymaps/default/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2021 Chris Broekema (broekema@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 JOYSTICK_AXES_COUNT 4
+#define JOYSTICK_BUTTON_COUNT 4
diff --git a/keyboards/handwired/misterdeck/keymaps/default/keymap.c b/keyboards/handwired/misterdeck/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a6b6ee467e
--- /dev/null
+++ b/keyboards/handwired/misterdeck/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2021 Chris Broekema (broekema@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 "joystick.h"
+
+enum layers {
+ NORMAL_LAYER = 0
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [NORMAL_LAYER] = LAYOUT( C(S(KC_F1)), C(S(KC_F2)), C(S(KC_F3)), C(S(KC_F4)),
+ C(S(KC_F5)), C(S(KC_F6)), C(S(KC_F7)), C(S(KC_F8)),
+ JS_BUTTON0, JS_BUTTON1, JS_BUTTON2, JS_BUTTON3 ),
+};
+
+
+
+joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {
+ [0] = JOYSTICK_AXIS_IN(F4, 0, 512, 1023),
+ [1] = JOYSTICK_AXIS_IN(F5, 0, 512, 1023),
+ [2] = JOYSTICK_AXIS_IN(F6, 0, 512, 1023),
+ [3] = JOYSTICK_AXIS_IN(F7, 0, 512, 1023)
+};
diff --git a/keyboards/handwired/misterdeck/keymaps/nobuttons/config.h b/keyboards/handwired/misterdeck/keymaps/nobuttons/config.h
new file mode 100644
index 0000000000..bd150139c1
--- /dev/null
+++ b/keyboards/handwired/misterdeck/keymaps/nobuttons/config.h
@@ -0,0 +1,22 @@
+/*
+Copyright 2021 Chris Broekema (broekema@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 JOYSTICK_AXES_COUNT 4
+#define JOYSTICK_BUTTON_COUNT 0
diff --git a/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c b/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c
new file mode 100644
index 0000000000..fbeb636cf2
--- /dev/null
+++ b/keyboards/handwired/misterdeck/keymaps/nobuttons/keymap.c
@@ -0,0 +1,37 @@
+/* Copyright 2021 Chris Broekema (broekema@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 "joystick.h"
+
+enum layers {
+ NORMAL_LAYER = 0
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [NORMAL_LAYER] = LAYOUT( C(S(KC_F1)), C(S(KC_F2)), C(S(KC_F3)), C(S(KC_F4)),
+ C(S(KC_F5)), C(S(KC_F6)), C(S(KC_F7)), C(S(KC_F8)),
+ C(S(KC_F9)), C(S(KC_F10)), C(S(KC_F11)), C(S(KC_F12))),
+};
+
+
+
+joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {
+ [0] = JOYSTICK_AXIS_IN(F4, 0, 512, 1023),
+ [1] = JOYSTICK_AXIS_IN(F5, 0, 512, 1023),
+ [2] = JOYSTICK_AXIS_IN(F6, 0, 512, 1023),
+ [3] = JOYSTICK_AXIS_IN(F7, 0, 512, 1023)
+};
diff --git a/keyboards/handwired/misterdeck/misterdeck.c b/keyboards/handwired/misterdeck/misterdeck.c
new file mode 100644
index 0000000000..a096e9ce95
--- /dev/null
+++ b/keyboards/handwired/misterdeck/misterdeck.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 Chris Broekema (broekema@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 "misterdeck.h"
diff --git a/keyboards/handwired/misterdeck/misterdeck.h b/keyboards/handwired/misterdeck/misterdeck.h
new file mode 100644
index 0000000000..a86ca2c2c9
--- /dev/null
+++ b/keyboards/handwired/misterdeck/misterdeck.h
@@ -0,0 +1,29 @@
+/* Copyright 2021 Chris Broekema (broekema@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( \
+ 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/handwired/misterdeck/readme.md b/keyboards/handwired/misterdeck/readme.md
new file mode 100644
index 0000000000..b9d472319a
--- /dev/null
+++ b/keyboards/handwired/misterdeck/readme.md
@@ -0,0 +1,21 @@
+# MisterDeck
+
+![MisteRdeck](https://i.imgur.com/FTPWqkXh.jpeg)
+
+A 3D-printed streamdeck like keyboard featuring 12 keys and 4 sliders
+
+* Keyboard Maintainer: [Chris Broekema](https://github.com/broekema)
+* Hardware Supported: MisteRdeck by MisteR_ofcl
+* Hardware Availability: [Thingiverse](https://www.thingiverse.com/thing:4627779)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/misterdeck:default
+
+Flashing example for this keyboard:
+
+ make handwired/misterdeck:default:flash
+
+Connect a momentary switch to RST and GND, hit twice in succession to reset the board into 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). \ No newline at end of file
diff --git a/keyboards/handwired/misterdeck/rules.mk b/keyboards/handwired/misterdeck/rules.mk
new file mode 100644
index 0000000000..c19a30931a
--- /dev/null
+++ b/keyboards/handwired/misterdeck/rules.mk
@@ -0,0 +1,21 @@
+# 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 = 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
+
+# use joystick feature for sliders
+JOYSTICK_ENABLE = yes
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/config.h b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c
index 860f6d3111..eebea17a7b 100644
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c
+++ b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c
@@ -17,12 +17,12 @@ 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_VOLD, KC_VOLU, 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_CAPS, KC_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, RSFT(KC_1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
+ [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_VOLD, KC_VOLU, 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_CAPS, KC_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, RSFT(KC_1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
)
};
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk
index c3e9c62a19..3224016bbe 100644
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk
+++ b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk
@@ -1,14 +1,9 @@
-# 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 = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/ms_sculpt_mobile/rules.mk b/keyboards/handwired/ms_sculpt_mobile/rules.mk
index 36961d9434..72015d93d8 100644
--- a/keyboards/handwired/ms_sculpt_mobile/rules.mk
+++ b/keyboards/handwired/ms_sculpt_mobile/rules.mk
@@ -1,3 +1,4 @@
+# MCU name
ifdef ASTAR
MCU = atmega32u4
CFLAGS = -D ASTAR
@@ -12,15 +13,15 @@ else
BOOTLOADER = atmel-dfu
endif
+# 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 = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/myskeeb/rules.mk b/keyboards/handwired/myskeeb/rules.mk
index d8ce97a7b8..d694be736f 100644
--- a/keyboards/handwired/myskeeb/rules.mk
+++ b/keyboards/handwired/myskeeb/rules.mk
@@ -6,15 +6,13 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/nicekey/rules.mk b/keyboards/handwired/nicekey/rules.mk
index 6302e743d4..e311fac590 100644
--- a/keyboards/handwired/nicekey/rules.mk
+++ b/keyboards/handwired/nicekey/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/not_so_minidox/rules.mk b/keyboards/handwired/not_so_minidox/rules.mk
index f322b2c914..3eab0fba7e 100644
--- a/keyboards/handwired/not_so_minidox/rules.mk
+++ b/keyboards/handwired/not_so_minidox/rules.mk
@@ -5,21 +5,18 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+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.
USE_I2C = no
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
SRC += matrix.c \
diff --git a/keyboards/handwired/novem/rules.mk b/keyboards/handwired/novem/rules.mk
index 2c92dd919a..ba0ee2cb43 100644
--- a/keyboards/handwired/novem/rules.mk
+++ b/keyboards/handwired/novem/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/nozbe_macro/config.h b/keyboards/handwired/nozbe_macro/config.h
new file mode 100644
index 0000000000..996ed08ab6
--- /dev/null
+++ b/keyboards/handwired/nozbe_macro/config.h
@@ -0,0 +1,57 @@
+/* Copyright 2021 Marcin Leon Omelan (@rozPierog)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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 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
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS \
+ { B0 }
+#define MATRIX_COL_PINS \
+ { D1, D0, D4, C6 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* number of backlight levels */
+#define BACKLIGHT_PIN B5
+#ifdef BACKLIGHT_PIN
+# define BACKLIGHT_LEVELS 3
+#endif
+
+/* 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/handwired/nozbe_macro/info.json b/keyboards/handwired/nozbe_macro/info.json
new file mode 100644
index 0000000000..056ccf9fc1
--- /dev/null
+++ b/keyboards/handwired/nozbe_macro/info.json
@@ -0,0 +1,15 @@
+{
+ "keyboard_name": "nozbe_macro",
+ "url": "",
+ "maintainer": "Leon Omelan",
+ "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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/nozbe_macro/keymaps/default/keymap.c b/keyboards/handwired/nozbe_macro/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7012e50d40
--- /dev/null
+++ b/keyboards/handwired/nozbe_macro/keymaps/default/keymap.c
@@ -0,0 +1,31 @@
+/* Copyright 2021 Marcin Leon Omelan (@rozPierog)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _FN,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ LT(_FN, KC_N), LALT(KC_UP), LALT(KC_DOWN), LALT(KC_D)
+ ),
+ [_FN] = LAYOUT(
+ KC_TRNS, KC_1, KC_2, BL_STEP
+ ),
+};
diff --git a/keyboards/handwired/nozbe_macro/keymaps/default/readme.md b/keyboards/handwired/nozbe_macro/keymaps/default/readme.md
new file mode 100644
index 0000000000..99051c3a25
--- /dev/null
+++ b/keyboards/handwired/nozbe_macro/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for nozbe_macro
diff --git a/keyboards/handwired/co60/keymaps/default/config.h b/keyboards/handwired/nozbe_macro/nozbe_macro.c
index 124091cc5a..b6d38fec83 100644
--- a/keyboards/handwired/co60/keymaps/default/config.h
+++ b/keyboards/handwired/nozbe_macro/nozbe_macro.c
@@ -1,4 +1,4 @@
-/* Copyright 2018 John M Daly
+/* Copyright 2021 Marcin Leon Omelan (@rozPierog)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,6 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#pragma once
-
-// place overrides here
+#include "nozbe_macro.h"
diff --git a/keyboards/handwired/nozbe_macro/nozbe_macro.h b/keyboards/handwired/nozbe_macro/nozbe_macro.h
new file mode 100644
index 0000000000..2c2c95091b
--- /dev/null
+++ b/keyboards/handwired/nozbe_macro/nozbe_macro.h
@@ -0,0 +1,25 @@
+/* Copyright 2021 Marcin Leon Omelan (@rozPierog)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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 \
+) { \
+ { k00, k01, k02, k03 } \
+}
diff --git a/keyboards/handwired/nozbe_macro/readme.md b/keyboards/handwired/nozbe_macro/readme.md
new file mode 100644
index 0000000000..1e51dabff3
--- /dev/null
+++ b/keyboards/handwired/nozbe_macro/readme.md
@@ -0,0 +1,26 @@
+# Nozbe Macropad handwired
+
+![Nozbe Macropad](https://i.imgur.com/fUMtWmah.png)
+
+4 key macropad with optional rotary encoder.
+
+* Keyboard Maintainer: [rozPierog](https://github.com/rozPierog)
+* Hardware Supported: Custom handwired 4 key (or 3 key + rotary encoder) pad
+* Hardware Availability: *n/a*
+* Github Repository: [NozbePad](https://github.com/rozPierog/NozbePad)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/nozbe_macro:default
+
+Flashing example for this keyboard:
+
+ make handwired/nozbe_macro:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 1 way:
+
+* **Short pins**: short RST and GND pins at the back
diff --git a/keyboards/handwired/nozbe_macro/rules.mk b/keyboards/handwired/nozbe_macro/rules.mk
new file mode 100644
index 0000000000..1c4073c9ce
--- /dev/null
+++ b/keyboards/handwired/nozbe_macro/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 = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/numpad20/keymaps/default/keymap.c b/keyboards/handwired/numpad20/keymaps/default/keymap.c
index 414b104afd..8bbd601897 100644
--- a/keyboards/handwired/numpad20/keymaps/default/keymap.c
+++ b/keyboards/handwired/numpad20/keymaps/default/keymap.c
@@ -2,10 +2,10 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, \
- KC_P7, KC_P8, KC_P9, KC_PLUS, \
- KC_P4, KC_P5, KC_P6, KC_MINS, \
- KC_P1, KC_P2, KC_P3, KC_ENT, \
- KC_P0, KC_DOT, KC_RGHT, KC_TAB \
+ KC_LEFT, KC_RGHT, KC_UP, KC_DOWN,
+ KC_P7, KC_P8, KC_P9, KC_PLUS,
+ KC_P4, KC_P5, KC_P6, KC_MINS,
+ KC_P1, KC_P2, KC_P3, KC_ENT,
+ KC_P0, KC_DOT, KC_RGHT, KC_TAB
)
};
diff --git a/keyboards/handwired/numpad20/rules.mk b/keyboards/handwired/numpad20/rules.mk
index f03e4cf375..9b2c210d42 100644
--- a/keyboards/handwired/numpad20/rules.mk
+++ b/keyboards/handwired/numpad20/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/obro/config.h b/keyboards/handwired/obro/config.h
new file mode 100644
index 0000000000..1217214dd7
--- /dev/null
+++ b/keyboards/handwired/obro/config.h
@@ -0,0 +1,58 @@
+/*
+Copyright 2022 Holten Campbell
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have 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 0x5052
+#define PRODUCT_ID 0x0042
+#define DEVICE_VER 0x0002
+#define MANUFACTURER Prime Keyboards
+#define PRODUCT obro
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+
+#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, F7, D4, B7, B3, D5, D3, D2, D1, D0 }
+#define MATRIX_ROW_PINS { E6, F0, F6, D7, D6 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN F1
+#define RGBLED_NUM 64
+#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
+
+/* 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/handwired/obro/info.json b/keyboards/handwired/obro/info.json
new file mode 100644
index 0000000000..e289ae585e
--- /dev/null
+++ b/keyboards/handwired/obro/info.json
@@ -0,0 +1,10 @@
+{
+ "keyboard_name": "Obro",
+ "url": "https://www.primekb.com",
+ "maintainer": "holtenc",
+ "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/handwired/obro/keymaps/default/keymap.c b/keyboards/handwired/obro/keymaps/default/keymap.c
new file mode 100644
index 0000000000..cf963b553d
--- /dev/null
+++ b/keyboards/handwired/obro/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
+/*
+Copyright 2020 Holten Campbell
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received 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_TAB, KC_Q, KC_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_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_RGUI, KC_RGUI, KC_RCTL
+ ),
+ [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_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, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/handwired/obro/keymaps/via/keymap.c b/keyboards/handwired/obro/keymaps/via/keymap.c
new file mode 100644
index 0000000000..cf963b553d
--- /dev/null
+++ b/keyboards/handwired/obro/keymaps/via/keymap.c
@@ -0,0 +1,49 @@
+/*
+Copyright 2020 Holten Campbell
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received 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_TAB, KC_Q, KC_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_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_RGUI, KC_RGUI, KC_RCTL
+ ),
+ [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_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, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/handwired/obro/keymaps/via/rules.mk b/keyboards/handwired/obro/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/handwired/obro/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/obro/obro.c b/keyboards/handwired/obro/obro.c
new file mode 100644
index 0000000000..e02765e6ad
--- /dev/null
+++ b/keyboards/handwired/obro/obro.c
@@ -0,0 +1,18 @@
+/*
+Copyright 2020 Holten Campbell
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "obro.h"
diff --git a/keyboards/handwired/obro/obro.h b/keyboards/handwired/obro/obro.h
new file mode 100644
index 0000000000..8cff4ff96d
--- /dev/null
+++ b/keyboards/handwired/obro/obro.h
@@ -0,0 +1,37 @@
+/*
+Copyright 2022 Holten Campbell
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have 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 K_NO 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, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \
+ K400, K401, K402, K404, K407, K409, K411, K412, K413 \
+) \
+{ \
+ { 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 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K_NO, K213 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313}, \
+ { K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413 } \
+}
diff --git a/keyboards/handwired/obro/readme.md b/keyboards/handwired/obro/readme.md
new file mode 100644
index 0000000000..7be928050d
--- /dev/null
+++ b/keyboards/handwired/obro/readme.md
@@ -0,0 +1,22 @@
+# Obro
+
+* Keyboard Maintainer: [Holten Campbell](https://github.com/holtenc)
+* Hardware Supported: ATMEGA32u4
+* Hardware Availability: Not applicable
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/obro:default
+
+Flashing example for this keyboard:
+
+ make handwired/obro:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+# Bootloader
+
+Enter the bootloader in 3 ways:
+* Bootmagic reset: HOld down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* Physical reset button: Briefly press the button on the back of the PCB
+* Keycode in layout: Press the key mapped to RESET if it is available
diff --git a/keyboards/handwired/obro/rules.mk b/keyboards/handwired/obro/rules.mk
new file mode 100644
index 0000000000..ee0e024ddb
--- /dev/null
+++ b/keyboards/handwired/obro/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
+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 = yes # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c
index c87852da53..56938cf62f 100644
--- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c
+++ b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c
@@ -68,14 +68,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | 0 | . | |
* `---------------'
*/
- [BASE] = LAYOUT( \
- KC_NLCK, KC_MPLY, \
- KC_CALC, TO(ONE), KC_MPRV, KC_MNXT, \
- KC_EQL, KC_PSLS, KC_PAST, KC_MINS, \
- 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 \
+ [BASE] = LAYOUT(
+ KC_NLCK, KC_MPLY,
+ KC_CALC, TO(ONE), KC_MPRV, KC_MNXT,
+ KC_EQL, KC_PSLS, KC_PAST, KC_MINS,
+ 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
),
/* Keymap ONE: Util Layer
@@ -97,14 +97,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | NO | NO| |
* `---------------'
*/
- [ONE] = LAYOUT( \
- RESET, KC_CAD, \
- TO(BASE), TO(TWO), MAKE1, MAKE2, \
- DIR, MAIL1, MAIL2, OBUWUN, \
- SELWP, KC_AF4, SELWN, \
- KC_CPY, KC_UP, KC_PST, KC_PSCR, \
- KC_LEFT, KC_DOWN, KC_RGHT, \
- KC_P0, KC_PDOT, KC_PENT \
+ [ONE] = LAYOUT(
+ RESET, KC_CAD,
+ TO(BASE), TO(TWO), MAKE1, MAKE2,
+ DIR, MAIL1, MAIL2, OBUWUN,
+ SELWP, KC_AF4, SELWN,
+ KC_CPY, KC_UP, KC_PST, KC_PSCR,
+ KC_LEFT, KC_DOWN, KC_RGHT,
+ KC_P0, KC_PDOT, KC_PENT
),
/* Keymap TWO: Emoji Layer
@@ -126,14 +126,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | NO | NO| |
* `---------------'
*/
- [TWO] = LAYOUT( \
- KC_NO, KC_NO, \
- TO(ONE), TO(BASE), KC_LBRC, KC_RBRC, \
- KC_F13, KC_F14, KC_F15, KC_F16, \
- EM7, EM8, EM9, \
- EM4, EM5, EM6, KC_NO, \
- EM1, EM2, EM3, \
- KC_NO, KC_NO, KC_NO \
+ [TWO] = LAYOUT(
+ KC_NO, KC_NO,
+ TO(ONE), TO(BASE), KC_LBRC, KC_RBRC,
+ KC_F13, KC_F14, KC_F15, KC_F16,
+ EM7, EM8, EM9,
+ EM4, EM5, EM6, KC_NO,
+ EM1, EM2, EM3,
+ KC_NO, KC_NO, KC_NO
),
};
diff --git a/keyboards/handwired/obuwunkunubi/spaget/rules.mk b/keyboards/handwired/obuwunkunubi/spaget/rules.mk
index 372c6c7ea6..9a469b22ec 100644
--- a/keyboards/handwired/obuwunkunubi/spaget/rules.mk
+++ b/keyboards/handwired/obuwunkunubi/spaget/rules.mk
@@ -5,19 +5,18 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# comment out to disable the 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 # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
UNICODE_ENABLE = yes # Unicode
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
AUDIO_ENABLE = no # Audio output
OLED_ENABLE = yes
diff --git a/keyboards/handwired/oem_ansi_fullsize/rules.mk b/keyboards/handwired/oem_ansi_fullsize/rules.mk
index 98abc35b8d..a0cf1ea43a 100644
--- a/keyboards/handwired/oem_ansi_fullsize/rules.mk
+++ b/keyboards/handwired/oem_ansi_fullsize/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/oem_iso_fullsize/rules.mk b/keyboards/handwired/oem_iso_fullsize/rules.mk
index 31a0939279..29f6363162 100644
--- a/keyboards/handwired/oem_iso_fullsize/rules.mk
+++ b/keyboards/handwired/oem_iso_fullsize/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/onekey/keymaps/oled/keymap.c b/keyboards/handwired/onekey/keymaps/oled/keymap.c
index e020d5e4b6..244dc4facb 100644
--- a/keyboards/handwired/onekey/keymaps/oled/keymap.c
+++ b/keyboards/handwired/onekey/keymaps/oled/keymap.c
@@ -390,7 +390,7 @@ bool oled_task_user(void) {
// This mode is also forced when the screen update speed test is performed.
if (!need_update) {
if (test_mode != TEST_SLOW_UPDATE) {
- return;
+ return false;
}
}
need_update = false;
diff --git a/keyboards/handwired/onekey/rules.mk b/keyboards/handwired/onekey/rules.mk
index 546aadf0b5..98a145f714 100644
--- a/keyboards/handwired/onekey/rules.mk
+++ b/keyboards/handwired/onekey/rules.mk
@@ -6,10 +6,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/ortho5x13/rules.mk b/keyboards/handwired/ortho5x13/rules.mk
index f03e4cf375..9b2c210d42 100644
--- a/keyboards/handwired/ortho5x13/rules.mk
+++ b/keyboards/handwired/ortho5x13/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/ortho5x14/rules.mk b/keyboards/handwired/ortho5x14/rules.mk
index 351c837e3b..aae71d4602 100644
--- a/keyboards/handwired/ortho5x14/rules.mk
+++ b/keyboards/handwired/ortho5x14/rules.mk
@@ -12,9 +12,6 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/ortho_brass/config.h b/keyboards/handwired/ortho_brass/config.h
new file mode 100644
index 0000000000..816a8fe597
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/config.h
@@ -0,0 +1,44 @@
+/* Copyright 2021 Christoph Jabs (BifbofII)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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 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
+
+/* Handwired pin-out */
+#define MATRIX_ROW_PINS \
+ { 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
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/handwired/ortho_brass/info.json b/keyboards/handwired/ortho_brass/info.json
new file mode 100644
index 0000000000..9178f8d89b
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/info.json
@@ -0,0 +1,116 @@
+{
+ "keyboard_name": "Ortho Brass",
+ "url": "",
+ "maintainer": "BifbofII",
+ "layouts": {
+ "LAYOUT_ortho_4x12": {
+ "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":"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},
+ {"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}
+ ]
+ },
+ "LAYOUT_ortho_4x12_1x2uC": {
+ "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":"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},
+ {"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, "w":2},
+ {"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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
new file mode 100644
index 0000000000..48af2a2d00
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
@@ -0,0 +1,240 @@
+/* Copyright 2021 Christoph Jabs (BifbofII)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received 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 ortho_brass_layers {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _PLOVER,
+ _ADJUST
+};
+
+enum ortho_brass_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
+ PLOVER,
+ EXT_PLV
+};
+
+#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_ortho_4x12_1x2uC(
+ 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 ,
+ XXXXXXX, KC_LCTL, KC_LALT, KC_LGUI, LOWER, 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 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = LAYOUT_ortho_4x12_1x2uC(
+ 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 ,
+ XXXXXXX, KC_LCTL, KC_LALT, KC_LGUI, LOWER, 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 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = LAYOUT_ortho_4x12_1x2uC(
+ 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 ,
+ XXXXXXX, 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 |ISO ~ |ISO | | Home | End | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_ortho_4x12_1x2uC(
+ 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_ortho_4x12_1x2uC(
+ 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
+),
+
+/* 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_ortho_4x12_1x2uC(
+ 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, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/* 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_ortho_4x12_1x2uC(
+ _______, 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, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)
+
+};
+
+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;
+ case PLOVER:
+ if (record->event.pressed) {
+ 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) {
+ layer_off(_PLOVER);
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+bool dip_switch_update_user(uint8_t index, bool active) {
+ switch (index) {
+ case 0: {
+ if (active) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ break;
+ }
+ }
+ return true;
+}
+
+bool music_mask_user(uint16_t keycode) {
+ switch (keycode) {
+ case RAISE:
+ case LOWER:
+ return false;
+ default:
+ return true;
+ }
+}
diff --git a/keyboards/handwired/ortho_brass/keymaps/default/readme.md b/keyboards/handwired/ortho_brass/keymaps/default/readme.md
new file mode 100644
index 0000000000..ca6c4a71d4
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/keymaps/default/readme.md
@@ -0,0 +1,5 @@
+# The Default Ortho 4x12 Planck-like Layout
+
+![Planck Default Layout](https://i.imgur.com/axdWbdH.jpeg)
+
+Very slightly modified to remove features that the handwired version does not have.
diff --git a/keyboards/handwired/ortho_brass/ortho_brass.c b/keyboards/handwired/ortho_brass/ortho_brass.c
new file mode 100644
index 0000000000..d124bbfca2
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/ortho_brass.c
@@ -0,0 +1,26 @@
+/* Copyright 2021 Christoph Jabs (BifbofII)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "ortho_brass.h"
+
+#ifdef SWAP_HANDS_ENABLE
+__attribute__((weak)) const keypos_t 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}},
+};
+#endif
diff --git a/keyboards/handwired/ortho_brass/ortho_brass.h b/keyboards/handwired/ortho_brass/ortho_brass.h
new file mode 100644
index 0000000000..0bcff0db51
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/ortho_brass.h
@@ -0,0 +1,47 @@
+/* Copyright 2021 Christoph Jabs (BifbofII)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have 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_1x2uC( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \
+) \
+{ \
+ { 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, k35, k37, k38, k39, k3a, k3b } \
+}
+
+#define LAYOUT_ortho_4x12( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
+) \
+{ \
+ { 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 } \
+}
+
+#define LAYOUT LAYOUT_ortho_4x12
diff --git a/keyboards/handwired/ortho_brass/readme.md b/keyboards/handwired/ortho_brass/readme.md
new file mode 100644
index 0000000000..0b531dac10
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/readme.md
@@ -0,0 +1,6 @@
+# Ortho Brass Handwired Keyboard
+
+A handwired keyboard with brass backplate and planck-like ortho 4x12 layout.
+A compact 40% (12x4) ortholinear keyboard.
+
+![BifbofII Ortho 4x12 Layout](https://i.imgur.com/hHSexjE.jpeg)
diff --git a/keyboards/handwired/ortho_brass/rules.mk b/keyboards/handwired/ortho_brass/rules.mk
new file mode 100644
index 0000000000..19154c58f9
--- /dev/null
+++ b/keyboards/handwired/ortho_brass/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader
+BOOTLOADER = qmk-dfu
+
+# Build Options
+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 # N-key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable RGB underlight.
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+LAYOUTS = ortho_4x12
+
+RGBLIGHT_SUPPORTED = no
diff --git a/keyboards/handwired/owlet60/keymaps/default/keymap.c b/keyboards/handwired/owlet60/keymaps/default/keymap.c
index 7dfc7bcaf3..e8e81bc530 100644
--- a/keyboards/handwired/owlet60/keymaps/default/keymap.c
+++ b/keyboards/handwired/owlet60/keymaps/default/keymap.c
@@ -23,19 +23,19 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_owlet60_full_bsp(
- KC_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_PGUP, \
- KC_2, KC_TAB, KC_Q, KC_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_3, KC_CAPS,KC_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_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, \
- KC_LCTRL, KC_LALT, KC_SPC, MO(1),KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT \
+ KC_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_PGUP,
+ KC_2, KC_TAB, KC_Q, KC_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_3, KC_CAPS,KC_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_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTRL, KC_LALT, KC_SPC, MO(1),KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
),
[1] = LAYOUT_owlet60_full_bsp(
- KC_NO, KC_GRV, KC_F1, 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_NO, KC_NO, KC_NO, 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, \
- KC_NO, KC_NO,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, \
- KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_N, KC_NO, KC_NO,KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_VAD, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
+ KC_NO, KC_GRV, KC_F1, 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_NO, KC_NO, KC_NO, 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,
+ KC_NO, KC_NO,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,
+ KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_N, KC_NO, KC_NO,KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_VAD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/handwired/owlet60/rules.mk b/keyboards/handwired/owlet60/rules.mk
index 8767e9dac1..193e837a5e 100644
--- a/keyboards/handwired/owlet60/rules.mk
+++ b/keyboards/handwired/owlet60/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+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/handwired/p65rgb/rules.mk b/keyboards/handwired/p65rgb/rules.mk
index 1249610b16..be2f090b13 100644
--- a/keyboards/handwired/p65rgb/rules.mk
+++ b/keyboards/handwired/p65rgb/rules.mk
@@ -12,10 +12,7 @@ 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
+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
diff --git a/keyboards/handwired/pilcrow/keymaps/default/config.h b/keyboards/handwired/pilcrow/keymaps/default/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/handwired/pilcrow/keymaps/default/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/pilcrow/keymaps/default/keymap.c b/keyboards/handwired/pilcrow/keymaps/default/keymap.c
index 33a5c2ac1f..eee0d04705 100644
--- a/keyboards/handwired/pilcrow/keymaps/default/keymap.c
+++ b/keyboards/handwired/pilcrow/keymaps/default/keymap.c
@@ -3,11 +3,11 @@
#define SFT_SPC MT(MOD_LSFT, KC_SPC)
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_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_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, SFT_SPC, MO(2), MO(3), KC_DEL, KC_ESC \
+ [0] = 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_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, SFT_SPC, MO(2), MO(3), KC_DEL, KC_ESC
),
/* Colemak
@@ -21,17 +21,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
- [1] = LAYOUT( \
- 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_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, \
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_PIPE, S(KC_QUOT), \
- _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_GRV \
+ [1] = LAYOUT(
+ 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_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_PIPE, S(KC_QUOT),
+ _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_GRV
),
- [2] = LAYOUT( \
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
- KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, \
- OSM(MOD_LSFT), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_BSLS, KC_QUOT, \
- _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU \
+ [2] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
+ OSM(MOD_LSFT), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_BSLS, KC_QUOT,
+ _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU
),
/* Adjust (Lower + Raise)
@@ -45,10 +45,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
- [3] = LAYOUT( \
- RESET, KC_UP, _______, _______, _______, _______, _______, KC_WH_D, KC_MS_U, KC_WH_U, \
- KC_LEFT, KC_DOWN, KC_RGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L, KC_MS_D, KC_MS_R, \
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, \
- _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______ \
+ [3] = LAYOUT(
+ RESET, KC_UP, _______, _______, _______, _______, _______, KC_WH_D, KC_MS_U, KC_WH_U,
+ KC_LEFT, KC_DOWN, KC_RGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L, KC_MS_D, KC_MS_R,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______,
+ _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/pilcrow/keymaps/default/rules.mk b/keyboards/handwired/pilcrow/keymaps/default/rules.mk
index c3e9c62a19..3224016bbe 100644
--- a/keyboards/handwired/pilcrow/keymaps/default/rules.mk
+++ b/keyboards/handwired/pilcrow/keymaps/default/rules.mk
@@ -1,14 +1,9 @@
-# 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 = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/pilcrow/rules.mk b/keyboards/handwired/pilcrow/rules.mk
index f03e4cf375..9b2c210d42 100644
--- a/keyboards/handwired/pilcrow/rules.mk
+++ b/keyboards/handwired/pilcrow/rules.mk
@@ -12,9 +12,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/pill60/rules.mk b/keyboards/handwired/pill60/rules.mk
index 867525ca74..57681a7cda 100644
--- a/keyboards/handwired/pill60/rules.mk
+++ b/keyboards/handwired/pill60/rules.mk
@@ -6,14 +6,12 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
BACKLIGHT_DRIVER = software
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
+SLEEP_LED_ENABLE = yes
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
ENCODER_ENABLE = yes
diff --git a/keyboards/handwired/postageboard/mini/rules.mk b/keyboards/handwired/postageboard/mini/rules.mk
index af32703eb2..354f194ca2 100644
--- a/keyboards/handwired/postageboard/mini/rules.mk
+++ b/keyboards/handwired/postageboard/mini/rules.mk
@@ -4,15 +4,15 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/postageboard/r1/rules.mk b/keyboards/handwired/postageboard/r1/rules.mk
index af32703eb2..354f194ca2 100644
--- a/keyboards/handwired/postageboard/r1/rules.mk
+++ b/keyboards/handwired/postageboard/r1/rules.mk
@@ -4,15 +4,15 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/prime_exl/keymaps/default/config.h b/keyboards/handwired/prime_exl/keymaps/default/config.h
deleted file mode 100644
index 83bd38a81d..0000000000
--- a/keyboards/handwired/prime_exl/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 Holten Campbell
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/prime_exl/rules.mk b/keyboards/handwired/prime_exl/rules.mk
index 11754021f4..e9ceebba3b 100644
--- a/keyboards/handwired/prime_exl/rules.mk
+++ b/keyboards/handwired/prime_exl/rules.mk
@@ -12,10 +12,7 @@ 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
+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
diff --git a/keyboards/handwired/prime_exl_plus/rules.mk b/keyboards/handwired/prime_exl_plus/rules.mk
index 99105c483c..61ec6a921a 100644
--- a/keyboards/handwired/prime_exl_plus/rules.mk
+++ b/keyboards/handwired/prime_exl_plus/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+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/handwired/prkl30/feather/rules.mk b/keyboards/handwired/prkl30/feather/rules.mk
index e99f16c279..f83173fa0b 100644
--- a/keyboards/handwired/prkl30/feather/rules.mk
+++ b/keyboards/handwired/prkl30/feather/rules.mk
@@ -16,8 +16,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
diff --git a/keyboards/handwired/prkl30/promicro/rules.mk b/keyboards/handwired/prkl30/promicro/rules.mk
index 71322c494b..82dfbafa4e 100644
--- a/keyboards/handwired/prkl30/promicro/rules.mk
+++ b/keyboards/handwired/prkl30/promicro/rules.mk
@@ -13,8 +13,7 @@ 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE = yes # This can be enabled if a ws2812 strip is connected to the expansion port.
diff --git a/keyboards/handwired/promethium/keymaps/default/rules.mk b/keyboards/handwired/promethium/keymaps/default/rules.mk
index 45b3332456..0183f5fa91 100644
--- a/keyboards/handwired/promethium/keymaps/default/rules.mk
+++ b/keyboards/handwired/promethium/keymaps/default/rules.mk
@@ -1,21 +1,12 @@
-
-
-# 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(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
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
+NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
UNICODEMAP_ENABLE = yes
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_MOUSE_ENABLE = yes
PS2_USE_INT = 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/handwired/promethium/keymaps/readme.md b/keyboards/handwired/promethium/keymaps/readme.md
deleted file mode 100644
index 527691389e..0000000000
--- a/keyboards/handwired/promethium/keymaps/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# How to add your own keymap
-
-Folders can be named however you'd like (will be approved upon merging), or should follow the format with a preceding `_`:
-
- _[ISO 3166-1 alpha-2 code*]_[layout variant]_[layout name/author]
-
-\* See full list: https://en.wikipedia.org/wiki/ISO_3166-1#Officially_assigned_code_elements
-
-and contain the following files:
-
-* `keymap.c`
-* `readme.md` *recommended*
-* `config.h` *optional*, found automatically when compiling
-* `Makefile` *optional*, found automatically when compling
-
-When adding your keymap to this list, keep it organised alphabetically (select list, edit->sort lines), and use this format:
-
- * **folder_name** description
-
-# List of Promethium keymaps
-
-
diff --git a/keyboards/handwired/promethium/promethium.h b/keyboards/handwired/promethium/promethium.h
index c4c90176b5..e40d67e9fd 100644
--- a/keyboards/handwired/promethium/promethium.h
+++ b/keyboards/handwired/promethium/promethium.h
@@ -1,6 +1,6 @@
#pragma once
-#include <stdint.h>
+#include "quantum.h"
void battery_poll(uint8_t level);
void led_set_kb(uint8_t usb_led);
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
index 106f30759a..f41e88b0c4 100644
--- a/keyboards/handwired/promethium/rules.mk
+++ b/keyboards/handwired/promethium/rules.mk
@@ -8,15 +8,14 @@ F_CPU = 8000000
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # 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
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
@@ -26,9 +25,6 @@ CUSTOM_MATRIX = yes
BLUETOOTH_ENABLE = yes
BLUETOOTH_DRIVER = AdafruitBLE
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
SRC += ws2812.c
SRC += rgbsps.c
SRC += analog.c
diff --git a/keyboards/handwired/pterodactyl/rules.mk b/keyboards/handwired/pterodactyl/rules.mk
index 7c8e3c3386..629b30e385 100644
--- a/keyboards/handwired/pterodactyl/rules.mk
+++ b/keyboards/handwired/pterodactyl/rules.mk
@@ -15,10 +15,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/pteron/keymaps/default/keymap.c b/keyboards/handwired/pteron/keymaps/default/keymap.c
index 976fbb6e16..0511fb9263 100644
--- a/keyboards/handwired/pteron/keymaps/default/keymap.c
+++ b/keyboards/handwired/pteron/keymaps/default/keymap.c
@@ -26,12 +26,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Lower | SPC | Alt | GUI | | Alt | GUI | SPC |Raise |
* +---------------------------+ +---------------------------+
*/
-[_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_DEL, \
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
- LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_RALT, KC_RGUI, KC_SPC, RAISE \
+[_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_DEL,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
+ LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_RALT, KC_RGUI, KC_SPC, RAISE
),
/* Lower
@@ -47,12 +47,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | 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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, 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, 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 \
+[_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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, 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, 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
@@ -68,12 +68,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
- 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 \
+[_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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ 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)
@@ -89,12 +89,12 @@ 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, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
+[_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,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/pteron/rules.mk b/keyboards/handwired/pteron/rules.mk
index 0fcfa90cc7..9f51ea20cf 100644
--- a/keyboards/handwired/pteron/rules.mk
+++ b/keyboards/handwired/pteron/rules.mk
@@ -5,14 +5,13 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# comment out to disable the 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/pteron38/rules.mk b/keyboards/handwired/pteron38/rules.mk
index ab32e6f717..172f6cbeca 100644
--- a/keyboards/handwired/pteron38/rules.mk
+++ b/keyboards/handwired/pteron38/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/pteron44/rules.mk b/keyboards/handwired/pteron44/rules.mk
index ab32e6f717..172f6cbeca 100644
--- a/keyboards/handwired/pteron44/rules.mk
+++ b/keyboards/handwired/pteron44/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/qc60/keymaps/default/keymap.c b/keyboards/handwired/qc60/keymaps/default/keymap.c
index a0f6250ffe..55341be4da 100644
--- a/keyboards/handwired/qc60/keymaps/default/keymap.c
+++ b/keyboards/handwired/qc60/keymaps/default/keymap.c
@@ -25,10 +25,10 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ansi_default(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RGB_TOG, KC_RGHT, KC_SPC, KC_RALT, KC_UP, KC_DOWN, KC_RCTL
),
diff --git a/keyboards/handwired/qc60/rules.mk b/keyboards/handwired/qc60/rules.mk
index 9c560cefea..524a0678cd 100644
--- a/keyboards/handwired/qc60/rules.mk
+++ b/keyboards/handwired/qc60/rules.mk
@@ -5,22 +5,18 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
DEFAULT_FOLDER = handwired/qc60/proto
diff --git a/keyboards/handwired/reddot/keymaps/default/keymap.c b/keyboards/handwired/reddot/keymaps/default/keymap.c
index 9ac394f7f7..0f3334834a 100644
--- a/keyboards/handwired/reddot/keymaps/default/keymap.c
+++ b/keyboards/handwired/reddot/keymaps/default/keymap.c
@@ -4,19 +4,19 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(1), KC_PSLS, KC_PAST, KC_PMNS, \
- KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP, \
- KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_DEL, KC_END, KC_PGDN, KC_PPLS, \
- KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_P1, KC_UP, KC_P3, \
- FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(1), KC_PSLS, KC_PAST, KC_PMNS,
+ KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP,
+ KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_DEL, KC_END, KC_PGDN, KC_PPLS,
+ KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_P1, KC_UP, KC_P3,
+ FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT
),
[1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSLS, KC_PAST, KC_PMNS, \
- KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9, \
- KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_4, KC_5, KC_6, KC_PPLS, \
- KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_1, KC_2, KC_3, \
- FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9,
+ KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_4, KC_5, KC_6, KC_PPLS,
+ KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_1, KC_2, KC_3,
+ FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT
),
};
diff --git a/keyboards/handwired/reddot/rules.mk b/keyboards/handwired/reddot/rules.mk
index 63a9b256d0..8d562b0bd1 100755
--- a/keyboards/handwired/reddot/rules.mk
+++ b/keyboards/handwired/reddot/rules.mk
@@ -12,9 +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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/retro_refit/keymaps/default/keymap.c b/keyboards/handwired/retro_refit/keymaps/default/keymap.c
index 2f9f28478e..e2bea57df4 100644
--- a/keyboards/handwired/retro_refit/keymaps/default/keymap.c
+++ b/keyboards/handwired/retro_refit/keymaps/default/keymap.c
@@ -1,12 +1,12 @@
#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_NLCK, KC_SLCK, KC_PSCR, 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_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, \
- KC_BSLS, KC_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_INS, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT \
+ [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_NLCK, KC_SLCK, KC_PSCR, 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_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,
+ KC_BSLS, KC_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_INS, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
),
};
diff --git a/keyboards/handwired/retro_refit/rules.mk b/keyboards/handwired/retro_refit/rules.mk
index 06be0c52ef..4d1b278f53 100644
--- a/keyboards/handwired/retro_refit/rules.mk
+++ b/keyboards/handwired/retro_refit/rules.mk
@@ -5,14 +5,12 @@ MCU = atmega32u4
BOOTLOADER = halfkay
# Build Options
-# comment out to disable the 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
diff --git a/keyboards/handwired/riblee_f401/rules.mk b/keyboards/handwired/riblee_f401/rules.mk
index 4ba8fd3888..a2fe4f3a19 100644
--- a/keyboards/handwired/riblee_f401/rules.mk
+++ b/keyboards/handwired/riblee_f401/rules.mk
@@ -13,10 +13,7 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
KEYBOARD_SHARED_EP = yes
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
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
BACKLIGHT_DRIVER = software
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
diff --git a/keyboards/handwired/riblee_f411/config.h b/keyboards/handwired/riblee_f411/config.h
index 67399aafb1..f335871dec 100644
--- a/keyboards/handwired/riblee_f411/config.h
+++ b/keyboards/handwired/riblee_f411/config.h
@@ -29,13 +29,10 @@
#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
+#define UNUSED_PINS { A1, A7, B2, B11, B12, B13 }
#define DIODE_DIRECTION COL2ROW
-#define BACKLIGHT_PIN A1
-#define BACKLIGHT_LEVELS 5
-
#define MOUSEKEY_INTERVAL 32
#define TAPPING_TERM 175
diff --git a/keyboards/handwired/riblee_f411/rules.mk b/keyboards/handwired/riblee_f411/rules.mk
index 02c668388d..7d0652ad24 100644
--- a/keyboards/handwired/riblee_f411/rules.mk
+++ b/keyboards/handwired/riblee_f411/rules.mk
@@ -7,18 +7,14 @@ BOOTLOADER = stm32-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-KEYBOARD_SHARED_EP = yes
+KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-BACKLIGHT_DRIVER = software
+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/handwired/rs60/keymaps/default/keymap.c b/keyboards/handwired/rs60/keymaps/default/keymap.c
index 7c61964330..a675c9019c 100644
--- a/keyboards/handwired/rs60/keymaps/default/keymap.c
+++ b/keyboards/handwired/rs60/keymaps/default/keymap.c
@@ -48,12 +48,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
-[_QWERTY] = 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_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+[_QWERTY] = 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_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Colemak
@@ -69,12 +69,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
-[_COLEMAK] = 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_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, \
- 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, \
- _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+[_COLEMAK] = 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_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
+ 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,
+ _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Dvorak
@@ -90,12 +90,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
-[_DVORAK] = 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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, \
- 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, \
- _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+[_DVORAK] = 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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL,
+ 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,
+ _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
@@ -111,12 +111,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
-[_LOWER] = LAYOUT_ortho_5x12( \
- 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_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 \
+[_LOWER] = LAYOUT_ortho_5x12(
+ 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_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
@@ -132,12 +132,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
-[_RAISE] = 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
- 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 \
+[_RAISE] = 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ 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)
@@ -153,12 +153,12 @@ 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, \
- _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
- _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+[_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,
+ _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/rs60/rules.mk b/keyboards/handwired/rs60/rules.mk
index f10fa03c32..d14abe406b 100644
--- a/keyboards/handwired/rs60/rules.mk
+++ b/keyboards/handwired/rs60/rules.mk
@@ -5,15 +5,14 @@ MCU = atmega32u4
BOOTLOADER = qmk-dfu
# Build Options
-# comment out to disable the 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 = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
diff --git a/keyboards/handwired/selene/rules.mk b/keyboards/handwired/selene/rules.mk
index 1c3d398681..3fa2ca01ee 100644
--- a/keyboards/handwired/selene/rules.mk
+++ b/keyboards/handwired/selene/rules.mk
@@ -13,10 +13,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
WS2812_DRIVER = bitbang
diff --git a/keyboards/handwired/sick68/rules.mk b/keyboards/handwired/sick68/rules.mk
index e027fabcd4..d4cb4d6890 100644
--- a/keyboards/handwired/sick68/rules.mk
+++ b/keyboards/handwired/sick68/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/sick_pad/rules.mk b/keyboards/handwired/sick_pad/rules.mk
index 68cbe90aee..1942356a8c 100644
--- a/keyboards/handwired/sick_pad/rules.mk
+++ b/keyboards/handwired/sick_pad/rules.mk
@@ -13,10 +13,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/slash/rules.mk b/keyboards/handwired/slash/rules.mk
index 8688504f63..275a2eb7eb 100644
--- a/keyboards/handwired/slash/rules.mk
+++ b/keyboards/handwired/slash/rules.mk
@@ -15,10 +15,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/snatchpad/config.h b/keyboards/handwired/snatchpad/config.h
new file mode 100644
index 0000000000..c0d337d5df
--- /dev/null
+++ b/keyboards/handwired/snatchpad/config.h
@@ -0,0 +1,145 @@
+// Copyright 2022 xia0 (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#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
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboards
+ * 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, F5, F6 }
+#define MATRIX_COL_PINS { B1, B3, B2 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Rotary encoder options */
+#define ENCODER_RESOLUTIONS { 4, 4 }
+#define ENCODERS_PAD_A { D3, D0 }
+#define ENCODERS_PAD_B { D2, D1 }
+
+
+
+/*
+ * 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
+
+//#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
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/snatchpad/info.json b/keyboards/handwired/snatchpad/info.json
new file mode 100644
index 0000000000..c1d193cfe5
--- /dev/null
+++ b/keyboards/handwired/snatchpad/info.json
@@ -0,0 +1,21 @@
+{
+ "keyboard_name": "snatchpad",
+ "url": "",
+ "maintainer": "xia0",
+ "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": 1},
+ {"x": 2, "y": 1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/snatchpad/keymaps/default/keymap.c b/keyboards/handwired/snatchpad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a473d4778b
--- /dev/null
+++ b/keyboards/handwired/snatchpad/keymaps/default/keymap.c
@@ -0,0 +1,23 @@
+// Copyright 2022 xia0 (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC , KC_SPC , MO(2) ,
+ KC_MPRV, KC_MNXT, KC_ENT ,
+ KC_MUTE, KC_MPLY
+ ),
+ [1] = LAYOUT(
+ KC_LOCK, KC_UP , _______,
+ KC_LEFT, KC_DOWN, KC_RGHT,
+ KC_BTN1, KC_BTN2
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______,
+ _______, _______, _______,
+ TO(0) , TO(1)
+ )
+};
+
diff --git a/keyboards/handwired/snatchpad/keymaps/default/readme.md b/keyboards/handwired/snatchpad/keymaps/default/readme.md
new file mode 100644
index 0000000000..11c0c781c4
--- /dev/null
+++ b/keyboards/handwired/snatchpad/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for snatchpad
diff --git a/keyboards/handwired/snatchpad/readme.md b/keyboards/handwired/snatchpad/readme.md
new file mode 100644
index 0000000000..98021cc6bd
--- /dev/null
+++ b/keyboards/handwired/snatchpad/readme.md
@@ -0,0 +1,34 @@
+# snatchpad
+
+![snatchpad etch-a-sketch macropad](https://i.imgur.com/aRIM8Nah.jpg)
+
+A 6-key macropad with 2 rotary encoders intended for use as a pointing device.
+
+In addition to the 3d printed parts and microcontroller, the following hardware is required:
+* 4 * 3x3 mm threaded inserts
+* 4 * 4mm M3 bolt
+* USB daughter board
+
+---
+
+* Keyboard Maintainer: [xia0](https://github.com/xia0)
+* Hardware Supported: e.g. Arduino Pro Micro
+* Hardware Availability: [github](https://github.com/xia0/keeb_files/tree/main/snatchpad)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/snatchpad:default
+
+Flashing example for this keyboard:
+
+ make handwired/snatchpad: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 `RESET` if it is available
diff --git a/keyboards/handwired/snatchpad/rules.mk b/keyboards/handwired/snatchpad/rules.mk
new file mode 100644
index 0000000000..7c73773c0d
--- /dev/null
+++ b/keyboards/handwired/snatchpad/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 = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+KEY_LOCK_ENABLE = yes
+ENCODER_ENABLE = yes
diff --git a/keyboards/handwired/snatchpad/snatchpad.c b/keyboards/handwired/snatchpad/snatchpad.c
new file mode 100644
index 0000000000..621ba11123
--- /dev/null
+++ b/keyboards/handwired/snatchpad/snatchpad.c
@@ -0,0 +1,66 @@
+// Copyright 2022 xia0 (@xia0)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "snatchpad.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+
+ uint8_t layer = get_highest_layer(layer_state);
+
+ if (index == 0) { /* First encoder */
+ switch (layer) {
+ case 0:
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ break;
+ case 2:
+ if (clockwise) {
+ tap_code16(LCTL(KC_MINUS));
+ } else {
+ tap_code16(LCTL(KC_EQUAL));
+ }
+ break;
+ default:
+ if (clockwise) {
+ tap_code(KC_MS_L);
+ } else {
+ tap_code(KC_MS_R);
+ }
+ break;
+ }
+
+ } else if (index == 1) { /* Second encoder */
+ switch (layer) {
+ case 0:
+ if (clockwise) {
+ tap_code(KC_MFFD);
+ } else {
+ tap_code(KC_MRWD);
+ }
+ break;
+ case 2:
+ if (clockwise) {
+ tap_code16(LCTL(KC_Y));
+ } else {
+ tap_code16(LCTL(KC_Z));
+ }
+ break;
+ default:
+ if (clockwise) {
+ tap_code(KC_MS_D);
+ } else {
+ tap_code(KC_MS_U);
+ }
+ break;
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/handwired/snatchpad/snatchpad.h b/keyboards/handwired/snatchpad/snatchpad.h
new file mode 100644
index 0000000000..07d6bd2093
--- /dev/null
+++ b/keyboards/handwired/snatchpad/snatchpad.h
@@ -0,0 +1,24 @@
+// Copyright 2022 xia0 (@xia0)
+// 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, \
+ k10, k11, k12, \
+ k20, k22 \
+) { \
+ { k00 , k01 , k02 }, \
+ { k10 , k11 , k12 }, \
+ { k20 , KC_NO , k22 } \
+}
diff --git a/keyboards/handwired/sono1/config.h b/keyboards/handwired/sono1/config.h
index 9ccc496e17..3b06342a1a 100644
--- a/keyboards/handwired/sono1/config.h
+++ b/keyboards/handwired/sono1/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2020 DmNosachev
+Copyright 2021 DmNosachev
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,80 +30,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROWS 15
#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 { 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 }
-#define UNUSED_PINS { A5 }
-
-#define LED_KANA_PIN A2
-#define LED_CAPS_LOCK_PIN B5
-#define LED_CTRL_XFER_PIN B6
-#define LED_NUM_LOCK_PIN B4
-#define LED_KB_LOCK_PIN B12
-#define LED_PIN_ON_STATE 0
-
/* 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
-
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
@@ -111,3 +43,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
+
+/* mechanical locking support. NumLock key on the numpad uses Alps SKCL Lock switch */
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE \ No newline at end of file
diff --git a/keyboards/handwired/sono1/keymaps/via/config.h b/keyboards/handwired/sono1/keymaps/via/config.h
new file mode 100644
index 0000000000..5b953c8db2
--- /dev/null
+++ b/keyboards/handwired/sono1/keymaps/via/config.h
@@ -0,0 +1,4 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/handwired/sono1/keymaps/via/keymap.c b/keyboards/handwired/sono1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d4a7f7c60e
--- /dev/null
+++ b/keyboards/handwired/sono1/keymaps/via/keymap.c
@@ -0,0 +1,66 @@
+/* Copyright 2021 DmNosachev
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+,---------------------------------------------------------------------------------------------------------, ,-----,
+| F11 | | F12 | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |PgUp |PgDn | | NO |
+|-------------------------------------------------------------------------------------------| |-----------| |-----|-----------------,
+| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | —- | += | ~` |BkSpc | |Home | End | | * | / | - | + |
+|-------------------------------------------------------------------------------------------| |-----------| |-----------------------|
+| Tab | Q | W | E | R | T | Y | U | I | O | P | {[ | }] | Enter | | Ins | Del | | 7 | 8 | 9 | += |
+|--------------------------------------------------------------------------------| | `-----------' |-----------------------|
+| Ctrl | A | S | D | F | G | H | J | K | L | :; | "' | |\ | | | Up | | 4 | 5 | 6 | . |
+|--------------------------------------------------------------------------------`----------' |-----------| |-----------------------|
+| Shift | Z | X | C | V | B | N | M | <, | >. | ?/ | NO | Shift | |Left |Right| | 1 | 2 | 3 | <, |
+|-------------------------------------------------------------------------------------------| |-----------| |-----------------------|
+|Caps | Alt | App | GUI | Space | Space | Enter | Ctrl | | Alt | | Down | | 0 | 0 | Enter |
+`-------------------------------------------------------------------------------------------' `-----------' '-----------------------'
+ | Del | BackSp|
+ `--------------'
+*/
+ [0] = LAYOUT(
+ KC_F11, KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGUP, KC_PGDN, _______,
+ 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_HOME, KC_END, KC_PAST, KC_PSLS, KC_PMNS, KC_PPLS,
+ KC_TAB, KC_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_INS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_EQL,
+ 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_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_PDOT,
+ 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_LEFT, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_COMM,
+ KC_CAPS, KC_LALT, KC_APP, KC_LGUI, KC_SPACE, KC_SPACE, KC_ENT, KC_RCTL, KC_RALT, KC_DOWN, KC_P0, KC_P0, KC_PENT,
+ KC_DEL, KC_BSPC
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______
+ ),
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______
+ )
+};
diff --git a/keyboards/handwired/sono1/keymaps/via/rules.mk b/keyboards/handwired/sono1/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/handwired/sono1/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/sono1/readme.md b/keyboards/handwired/sono1/readme.md
index e21d06e2d9..76541e118b 100644
--- a/keyboards/handwired/sono1/readme.md
+++ b/keyboards/handwired/sono1/readme.md
@@ -5,11 +5,11 @@
ASkeyboard Sono1 keyboard conversion project: direct connection of Black Pill to the matrix.
* Keyboard Maintainer: [DmNosachev](https://github.com/DmNosachev)
-* Hardware Supported: [ASkeyboard Sono1](http://www5f.biglobe.ne.jp/~silencium/keyboard/html/alps.html), Black Pill STM32F103C8T6 MCU board. Alternatively you can use any MCU which is supported by QMK and has 28 IO pins or more (15x8 matrix and 5 LEDs): Teensy 2.0++, Blue Pill, etc.
+* Hardware Supported: [ASkeyboard Sono1](http://www5f.biglobe.ne.jp/~silencium/keyboard/html/alps.html), Teensy 2.0++ or Black Pill STM32F103C8T6 MCU board. Alternatively you can use any MCU which is supported by QMK and has 28 IO pins or more (15x8 matrix and 5 LEDs): Blue Pill, Black Pill STM32F4xx, etc.
Make example for this keyboard (after setting up your build environment):
- make handwired/sono1:default
+ qmk compile -kb handwired/sono1: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).
@@ -22,11 +22,34 @@ ASkeyboard Sono1 has 15x8 matrix. Sono2 numpad connects directly to the main mat
Rows (R0-RE) and columns (R0-C7):
![Sono1 rows and columns](https://i.imgur.com/5Owazg6h.jpeg)
+Desolder all ICs, capacitors and resistors except R10–R14.
+
## LEDs
Keyboard has 5 LEDs with common anode. Their cathodes are connected to R10–R14 resistors (you may want to replace them to adjust LED brightness for 3.3V voltage). Add 5 wire jumpers to connect them to the corresponding traces.
![Sono1 LEDs](https://i.imgur.com/opxc2A3h.jpeg)
+## Teensy 2.0++
+Suggested mount position for the Teensy 2.0++ (view from the bottom side of the PCB):
+```
+ R8 R9 RA RB RC RD RE L0 R8 C7 C6 C5 C4 C3 C2 C1 C0
+ * | | | | | | | * | | | | | | | |
+ ,------------------------------------------------------------,
+,---|GN B7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 C0 C1 C2 C3 C4 C5 C6 C7 |
+| |D7 |
+|USB| |
+| |GN |
+'---|V B6 B5 B4 B3 B2 B1 B0 E7 E6 G A F0 F1 F2 F3 F4 F5 F6 F7 |
+ `------------------------------------------------------------'
+ * | | | | | | | | | | | |
+ GN L2 L1 L3 L4 R7 R6 R5 R4 R3 R2 R1 R0
+```
+Asterisk sign designates pins of the Teensy that don't align properly with PCB and need to be rewired.
+
+1. Compile and flash the firmware: `qmk compile -kb handwired/sono1/t2pp:default:flash`. Press the reset button on Teensy to launch the bootloader.
+2. You will need to solder several pin headers to Teensy: two 7 pin headers (C0–C7, D5–B7), 8 pin (F0–F7) and 4 pin (B1—B4).
+3. Solder the Teensy to keyboard's PCB. You will need to manually reroute only 3 pins.
+
## Black Pill
Suggested mount position for the Black Pill (view from the bottom side of the PCB):
@@ -47,11 +70,12 @@ Asterisk sign designates pins of the Black Pill that don't align properly with P
![Black Pill](https://i.imgur.com/KQjTWVbh.jpeg)
-1. Desolder all ICs, capacitors and resistors except R10–R14.
1. Solder 4-pin SWD header to Black Pill.
2. Burn [STM32duino bootloader](https://github.com/rogerclarkmelbourne/STM32duino-bootloader/blob/master/bootloader_only_binaries/generic_boot20_pb12.bin) to Black Pill.
-3. Compile and flash the firmware: `make handwired/sono1:default:flash`
+3. Compile and flash the firmware: `qmk compile -kb handwired/sono1/stm32f103:default:flash`
4. Connect rows, columns and LED pads to the corresponding pins of the Black Pill.
## Keymap
'CUR LOCK' key on Sono2 numpad has locking switch by default (Alps SKCL lock). QMK [supports mechanical locking switches](https://docs.qmk.fm/#/faq_keymap?id=mechanical-lock-switch-support) for CapsLock, NumLock and ScrollLock keycodes.
+
+There is 'debug' keymap which doesn't output any scancodes, but displays row and column numbers of pressed buttons to console (hid_listen or QMK Toolbox).
diff --git a/keyboards/handwired/sono1/rules.mk b/keyboards/handwired/sono1/rules.mk
index 5a0df50158..e2e79966be 100644
--- a/keyboards/handwired/sono1/rules.mk
+++ b/keyboards/handwired/sono1/rules.mk
@@ -1,11 +1,4 @@
-# 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
+DEFAULT_FOLDER = handwired/sono1/t2pp
# Build Options
# change yes to no to disable
@@ -15,10 +8,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/sono1/chconf.h b/keyboards/handwired/sono1/stm32f103/chconf.h
index f2330f083c..63236f2c2c 100644
--- a/keyboards/handwired/sono1/chconf.h
+++ b/keyboards/handwired/sono1/stm32f103/chconf.h
@@ -16,7 +16,7 @@
/*
* This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/handwired/sono1/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/chconf.h -r platforms/chibios/common/configs/chconf.h`
*/
#pragma once
@@ -26,4 +26,3 @@
#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
#include_next <chconf.h>
-
diff --git a/keyboards/handwired/sono1/stm32f103/config.h b/keyboards/handwired/sono1/stm32f103/config.h
new file mode 100644
index 0000000000..8da1256900
--- /dev/null
+++ b/keyboards/handwired/sono1/stm32f103/config.h
@@ -0,0 +1,36 @@
+/*
+Copyright 2021 DmNosachev
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#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 }
+
+
+#define LED_KANA_PIN A2
+#define LED_CAPS_LOCK_PIN B5
+#define LED_CTRL_XFER_PIN B6
+#define LED_NUM_LOCK_PIN B4
+#define LED_KB_LOCK_PIN B12
+#define LED_PIN_ON_STATE 0
+
diff --git a/keyboards/handwired/sono1/halconf.h b/keyboards/handwired/sono1/stm32f103/halconf.h
index 71ad504111..923b4e52d2 100644
--- a/keyboards/handwired/sono1/halconf.h
+++ b/keyboards/handwired/sono1/stm32f103/halconf.h
@@ -16,7 +16,7 @@
/*
* This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/handwired/sono1/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/halconf.h -r platforms/chibios/common/configs/halconf.h`
*/
#pragma once
@@ -24,4 +24,3 @@
#define HAL_USE_PWM TRUE
#include_next <halconf.h>
-
diff --git a/keyboards/handwired/sono1/mcuconf.h b/keyboards/handwired/sono1/stm32f103/mcuconf.h
index cf252da153..5e94a97e21 100644
--- a/keyboards/handwired/sono1/mcuconf.h
+++ b/keyboards/handwired/sono1/stm32f103/mcuconf.h
@@ -16,7 +16,7 @@
/*
* This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/handwired/sono1/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
+ * `qmk chibios-confmigrate -i keyboards/handwired/onekey/bluepill/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
*/
#pragma once
@@ -28,4 +28,3 @@
#undef STM32_SPI_USE_SPI2
#define STM32_SPI_USE_SPI2 FALSE
-
diff --git a/keyboards/handwired/sono1/stm32f103/rules.mk b/keyboards/handwired/sono1/stm32f103/rules.mk
new file mode 100644
index 0000000000..019b1130d9
--- /dev/null
+++ b/keyboards/handwired/sono1/stm32f103/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/sono1/t2pp/config.h b/keyboards/handwired/sono1/t2pp/config.h
new file mode 100644
index 0000000000..8a20aeeb1d
--- /dev/null
+++ b/keyboards/handwired/sono1/t2pp/config.h
@@ -0,0 +1,36 @@
+/*
+Copyright 2021 DmNosachev
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#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 }
+
+
+#define LED_KANA_PIN D5
+#define LED_CAPS_LOCK_PIN B3
+#define LED_CTRL_XFER_PIN B4
+#define LED_NUM_LOCK_PIN B2
+#define LED_KB_LOCK_PIN B1
+#define LED_PIN_ON_STATE 0
+
diff --git a/keyboards/handwired/sono1/t2pp/rules.mk b/keyboards/handwired/sono1/t2pp/rules.mk
new file mode 100644
index 0000000000..149471682d
--- /dev/null
+++ b/keyboards/handwired/sono1/t2pp/rules.mk
@@ -0,0 +1,5 @@
+# MCU name
+MCU = at90usb1286
+
+# Bootloader selection
+BOOTLOADER = halfkay
diff --git a/keyboards/handwired/space_oddity/keymaps/default/keymap.c b/keyboards/handwired/space_oddity/keymaps/default/keymap.c
index 8a6f245875..d3e280d2b5 100644
--- a/keyboards/handwired/space_oddity/keymaps/default/keymap.c
+++ b/keyboards/handwired/space_oddity/keymaps/default/keymap.c
@@ -66,13 +66,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |_____|_____|_____|_____|___________|___________|_____|_____|_____|_____|
*/
- [0] = LAYOUT( \
- PAIR_PR, PAIR_BR, PAIR_CB, XXXXXXX, XXXXXXX, DM_PLY1, DM_PLY2, \
- 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_MINS, \
- 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, \
- TD(SFT_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), \
- MO(2), MO(1), KC_LGUI, KC_RALT, KC_LCTL, KC_SPC, ALT_T(KC_LEFT), ALL_T(KC_RGHT), LT(1, KC_UP), LT(2, KC_DOWN) \
+ [0] = LAYOUT(
+ PAIR_PR, PAIR_BR, PAIR_CB, XXXXXXX, XXXXXXX, DM_PLY1, DM_PLY2,
+ 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_MINS,
+ 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,
+ TD(SFT_CAPS), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT),
+ MO(2), MO(1), KC_LGUI, KC_RALT, KC_LCTL, KC_SPC, ALT_T(KC_LEFT), ALL_T(KC_RGHT), LT(1, KC_UP), LT(2, KC_DOWN)
),
/* Function layer.
@@ -100,13 +100,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
*/
- [1] = LAYOUT( \
- LAMBDA, _______, _______, _______, _______, DM_REC1, DM_REC2, \
- DM_RSTP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_ASTR, KC_DEL, \
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_EQL, \
- KC_BSLS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LCBR, KC_P1, KC_P2, KC_P3, KC_MINS, KC_PIPE, \
- _______, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_RCBR, KC_P0, KC_COMM, KC_DOT, KC_SLSH, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ [1] = LAYOUT(
+ LAMBDA, _______, _______, _______, _______, DM_REC1, DM_REC2,
+ DM_RSTP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_ASTR, KC_DEL,
+ _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_EQL,
+ KC_BSLS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LCBR, KC_P1, KC_P2, KC_P3, KC_MINS, KC_PIPE,
+ _______, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_RCBR, KC_P0, KC_COMM, KC_DOT, KC_SLSH, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Mouse layer.
@@ -133,13 +133,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
*/
- [2] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(2) \
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(2)
)
};
diff --git a/keyboards/handwired/space_oddity/rules.mk b/keyboards/handwired/space_oddity/rules.mk
index 5af57fec5c..0b1ff1cd0a 100644
--- a/keyboards/handwired/space_oddity/rules.mk
+++ b/keyboards/handwired/space_oddity/rules.mk
@@ -5,15 +5,14 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# comment out to disable the 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/split65/promicro/rules.mk b/keyboards/handwired/split65/promicro/rules.mk
index bb95fcf67c..e47fa13115 100644
--- a/keyboards/handwired/split65/promicro/rules.mk
+++ b/keyboards/handwired/split65/promicro/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/split65/stm32/rules.mk b/keyboards/handwired/split65/stm32/rules.mk
index cb54c352fa..0c46074584 100644
--- a/keyboards/handwired/split65/stm32/rules.mk
+++ b/keyboards/handwired/split65/stm32/rules.mk
@@ -13,10 +13,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/split89/rules.mk b/keyboards/handwired/split89/rules.mk
index 0ce4c12edd..8f9772df22 100644
--- a/keyboards/handwired/split89/rules.mk
+++ b/keyboards/handwired/split89/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/splittest/rules.mk b/keyboards/handwired/splittest/rules.mk
index 0f12d4cd85..b33e198bbd 100644
--- a/keyboards/handwired/splittest/rules.mk
+++ b/keyboards/handwired/splittest/rules.mk
@@ -1,20 +1,16 @@
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # 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
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+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.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
SPLIT_KEYBOARD = yes
DEFAULT_FOLDER = handwired/splittest/promicro
diff --git a/keyboards/handwired/steamvan/keymaps/default/config.h b/keyboards/handwired/steamvan/keymaps/default/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/handwired/steamvan/keymaps/default/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/steamvan/rev1/rules.mk b/keyboards/handwired/steamvan/rev1/rules.mk
index 8557e3b045..3d45b63d21 100644
--- a/keyboards/handwired/steamvan/rev1/rules.mk
+++ b/keyboards/handwired/steamvan/rev1/rules.mk
@@ -9,7 +9,7 @@ BOOTLOADER = stm32-dfu
WS2812_DRIVER = spi
# Build Options
-# comment out to disable the options.
+# change yes to no to disable
#
BACKLIGHT_ENABLE = yes
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
@@ -17,7 +17,7 @@ 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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
LEADER_ENABLE = yes
diff --git a/keyboards/handwired/sticc14/rules.mk b/keyboards/handwired/sticc14/rules.mk
index 0099557cbe..eae129b29b 100644
--- a/keyboards/handwired/sticc14/rules.mk
+++ b/keyboards/handwired/sticc14/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/stream_cheap/2x3/rules.mk b/keyboards/handwired/stream_cheap/2x3/rules.mk
index 5d1187508f..6ed1b0e6f0 100644
--- a/keyboards/handwired/stream_cheap/2x3/rules.mk
+++ b/keyboards/handwired/stream_cheap/2x3/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/stream_cheap/2x4/rules.mk b/keyboards/handwired/stream_cheap/2x4/rules.mk
index 08aa4ed7b0..6dac16c3e4 100644
--- a/keyboards/handwired/stream_cheap/2x4/rules.mk
+++ b/keyboards/handwired/stream_cheap/2x4/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/stream_cheap/2x5/rules.mk b/keyboards/handwired/stream_cheap/2x5/rules.mk
index 9578124554..7dae3a8423 100644
--- a/keyboards/handwired/stream_cheap/2x5/rules.mk
+++ b/keyboards/handwired/stream_cheap/2x5/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/swiftrax/astro65/rules.mk b/keyboards/handwired/swiftrax/astro65/rules.mk
index 9158203a31..6cdc668811 100644
--- a/keyboards/handwired/swiftrax/astro65/rules.mk
+++ b/keyboards/handwired/swiftrax/astro65/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/bebol/rules.mk b/keyboards/handwired/swiftrax/bebol/rules.mk
index 9906266f48..1275531ef6 100644
--- a/keyboards/handwired/swiftrax/bebol/rules.mk
+++ b/keyboards/handwired/swiftrax/bebol/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/beegboy/rules.mk b/keyboards/handwired/swiftrax/beegboy/rules.mk
index 6b2dc178e8..d143924b88 100644
--- a/keyboards/handwired/swiftrax/beegboy/rules.mk
+++ b/keyboards/handwired/swiftrax/beegboy/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/bumblebee/bumblebee.c b/keyboards/handwired/swiftrax/bumblebee/bumblebee.c
new file mode 100644
index 0000000000..613a1fa1b3
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/bumblebee.c
@@ -0,0 +1,56 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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 "bumblebee.h"
+
+// Encoder
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise))
+ return false;
+ if (clockwise)
+ tap_code16(KC_VOLU);
+ else
+ tap_code16(KC_VOLD);
+ return true;
+}
+
+// Initialize all RGB indicators to 'off'
+__attribute__((weak))
+void keyboard_post_init_user(void) {
+ rgblight_setrgb_at(0, 0, 0, 0); // [..., 0] = top LED
+ rgblight_setrgb_at(0, 0, 0, 1); // [..., 1] = middle LED
+ rgblight_setrgb_at(0, 0, 0, 2); // [..., 2] = bottom LED
+}
+
+// RGB Layer Indicators
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ if (get_highest_layer(state) == 0) {
+ rgblight_setrgb_at(255, 0, 0, 0); //red
+ } else {
+ rgblight_setrgb_at(0, 0, 0, 0);
+ }
+ if (get_highest_layer(state) == 1){
+ rgblight_setrgb_at(0, 0, 255, 1); //green
+ } else{
+ rgblight_setrgb_at(0, 0, 0, 1);
+ }
+ if (get_highest_layer(state) == 2){
+ rgblight_setrgb_at(0, 255, 0, 2); //blue
+ } else{
+ rgblight_setrgb_at(0, 0, 0, 2);
+ }
+ return layer_state_set_user(state);
+} \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/bumblebee/bumblebee.h b/keyboards/handwired/swiftrax/bumblebee/bumblebee.h
new file mode 100644
index 0000000000..2d1fdf7a46
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/bumblebee.h
@@ -0,0 +1,39 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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 KC_NO XXX
+
+#include "quantum.h"
+
+ #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, K33, K24, K34, K25, K35, K26, K36, K27, \
+ K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, \
+ K60, K70, K62, K72, K63, K74, K65, K66, K76, K67 \
+ ) \
+ { \
+ { K00, K01, K02, K03, K04, K05, K06, K07 }, \
+ { K10, K11, K12, K13, K14, K15, K16, XXX }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27 }, \
+ { K30, K31, K32, K33, K34, K35, K36, XXX }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47 }, \
+ { K50, K51, K52, K53, K54, K55, K56, XXX }, \
+ { K60, XXX, K62, K63, XXX, K65, K66, K67 }, \
+ { K70, XXX, K72, XXX, K74, XXX, K76, XXX } \
+ }
+
diff --git a/keyboards/handwired/swiftrax/bumblebee/config.h b/keyboards/handwired/swiftrax/bumblebee/config.h
new file mode 100644
index 0000000000..89b51a762f
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/config.h
@@ -0,0 +1,58 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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 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
+
+// ROWS: Top to bottom, COLS: Left to right
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { C7, D3, D5, D4, D6, D7, B4, B5 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Encoder */
+#define ENCODERS_PAD_A { C6 }
+#define ENCODERS_PAD_B { B6 }
+
+/* RGB Indicators */
+#define RGB_DI_PIN E6
+#define RGBLED_NUM 3
+
+/* Solenid Pin */
+#define SOLENOID_PIN D2
+
+/* Piezo Buzzer */
+#define AUDIO_PIN B7 \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/bumblebee/info.json b/keyboards/handwired/swiftrax/bumblebee/info.json
new file mode 100644
index 0000000000..3d9a8730a6
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/info.json
@@ -0,0 +1,10 @@
+{
+ "keyboard_name": "BumbleBee",
+ "url": "https://www.github.com/swiftrax",
+ "maintainer": "swiftrax",
+ "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}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c
new file mode 100644
index 0000000000..7e7247c80f
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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
+
+#define SOLENOID_DEFAULT_BUZZ 1
+#define FB_ERM_LRA 0
+#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
+#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
+
+/* Please refer to your datasheet for the optimal setting for your specific motor. */
+#define RATED_VOLTAGE 3
+#define V_PEAK 5
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_TAB , KC_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_F13 , KC_CAPS, KC_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_F14 , 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_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, 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 , _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [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 , _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk
new file mode 100644
index 0000000000..9c6098640a
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+AUDIO_ENABLE = yes
+HAPTIC_ENABLE += SOLENOID \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c
new file mode 100644
index 0000000000..a48f998100
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c
@@ -0,0 +1,53 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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
+
+#define SOLENOID_DEFAULT_BUZZ 1
+#define FB_ERM_LRA 0
+#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
+#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
+
+/* Please refer to your datasheet for the optimal setting for your specific motor. */
+#define RATED_VOLTAGE 3
+#define V_PEAK 5
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_TAB , KC_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_F13 , KC_CAPS, KC_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_F14 , 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_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, 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 , _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [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 , _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk
new file mode 100644
index 0000000000..e0ef178896
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+#HAPTIC_ENABLE += SOLENOID
+AUDIO_ENABLE = yes
+#either solenoid or audio not both can be enabled \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/bumblebee/readme.md b/keyboards/handwired/swiftrax/bumblebee/readme.md
new file mode 100644
index 0000000000..32091cb83b
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/readme.md
@@ -0,0 +1,21 @@
+# BumbleBee
+
+A 50% keyboard with a bunch of fun features
+
+* Keyboard Maintainer: Swiftrax
+* Hardware Supported: BumbleBee
+* Hardware Availability: https://github.com/swiftrax
+
+## 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
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/swiftrax/bumblebee: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/handwired/swiftrax/bumblebee/rules.mk b/keyboards/handwired/swiftrax/bumblebee/rules.mk
new file mode 100644
index 0000000000..e0590e039a
--- /dev/null
+++ b/keyboards/handwired/swiftrax/bumblebee/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
+ENCODER_ENABLE = yes # Rotary Encoder
diff --git a/keyboards/handwired/swiftrax/cowfish/rules.mk b/keyboards/handwired/swiftrax/cowfish/rules.mk
index 3105d59b77..a61e60c8a4 100644
--- a/keyboards/handwired/swiftrax/cowfish/rules.mk
+++ b/keyboards/handwired/swiftrax/cowfish/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/digicarp65/config.h b/keyboards/handwired/swiftrax/digicarp65/config.h
new file mode 100644
index 0000000000..1f11e310d1
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/config.h
@@ -0,0 +1,47 @@
+/*
+Copyright 2022 Swiftrax <swiftrax@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 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
+
+// ROWS: Top to bottom, COLS: Left to right
+
+#define MATRIX_ROW_PINS { B2, B1, F4, F1, F0 }
+#define MATRIX_COL_PINS { F5, C6, F6, F7, C7, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define ENCODERS_PAD_A { B3 }
+#define ENCODERS_PAD_B { B7 }
diff --git a/keyboards/handwired/swiftrax/digicarp65/digicarp65.c b/keyboards/handwired/swiftrax/digicarp65/digicarp65.c
new file mode 100644
index 0000000000..99823a756c
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/digicarp65.c
@@ -0,0 +1,31 @@
+/*
+Copyright 2022 Swiftrax <swiftrax@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 "digicarp65.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/handwired/swiftrax/digicarp65/digicarp65.h b/keyboards/handwired/swiftrax/digicarp65/digicarp65.h
new file mode 100644
index 0000000000..ba4a76ea10
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/digicarp65.h
@@ -0,0 +1,78 @@
+/*
+Copyright 2022 Swiftrax <swiftrax@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 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, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \
+ k40, k41, k42, 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 }, \
+ { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \
+ { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, k4E, k4F } \
+}
+
+#define LAYOUT_65_iso( \
+ 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, k42, 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 }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \
+ { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, k4E, k4F } \
+}
+
+#define LAYOUT_65_ansi_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, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \
+ k40, k41, k42, 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, k2D, XXX, k2F }, \
+ { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \
+ { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, 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, k42, 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, k2D, XXX, k2F }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \
+ { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, k4C, k4D, k4E, k4F } \
+}
diff --git a/keyboards/handwired/swiftrax/digicarp65/info.json b/keyboards/handwired/swiftrax/digicarp65/info.json
new file mode 100644
index 0000000000..48a4d31368
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/info.json
@@ -0,0 +1,315 @@
+{
+ "keyboard_name": "digicarp65",
+ "url": "https://github.com/swiftrax",
+ "maintainer": "swiftrax",
+ "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}
+ ]
+ },
+ "LAYOUT_65_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": 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_ansi_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": 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}
+ ]
+ },
+ "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}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c
new file mode 100644
index 0000000000..5de5c63144
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
+/*
+Copyright 2022 Swiftrax <swiftrax@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_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_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, KC_RGUI, MO(1), 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_INS,
+ 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_TRNS, KC_HOME, KC_PGDN, KC_END
+ ),
+ [2] = 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_PGUP, 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/swiftrax/digicarp65/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c
new file mode 100644
index 0000000000..d3bffe8c4c
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/keymap.c
@@ -0,0 +1,50 @@
+/*
+Copyright 2022 Swiftrax <swiftrax@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_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_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, KC_RGUI, MO(1), 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_INS,
+ 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_TRNS, KC_HOME, KC_PGDN, KC_END
+ ),
+ [2] = 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_PGUP, 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(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_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
+ ),
+};
+
diff --git a/keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/digicarp65/readme.md b/keyboards/handwired/swiftrax/digicarp65/readme.md
new file mode 100644
index 0000000000..619ec519f0
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/readme.md
@@ -0,0 +1,21 @@
+# DigiCarp65
+
+A 65% keyboard
+
+* Keyboard Maintainer: Swiftrax
+* Hardware Supported: DigiCarp65
+* Hardware Availability: https://github.com/swiftrax
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/swiftrax/digicarp65: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 (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
diff --git a/keyboards/handwired/swiftrax/digicarp65/rules.mk b/keyboards/handwired/swiftrax/digicarp65/rules.mk
new file mode 100644
index 0000000000..7a15812bc8
--- /dev/null
+++ b/keyboards/handwired/swiftrax/digicarp65/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 = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes # Rotary Encoder
+
+LAYOUTS = 65_ansi 65_ansi_split_bs 65_iso 65_iso_split_bs
diff --git a/keyboards/handwired/swiftrax/equator/rules.mk b/keyboards/handwired/swiftrax/equator/rules.mk
index 9906266f48..1275531ef6 100644
--- a/keyboards/handwired/swiftrax/equator/rules.mk
+++ b/keyboards/handwired/swiftrax/equator/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/glacier/config.h b/keyboards/handwired/swiftrax/glacier/config.h
new file mode 100644
index 0000000000..b8496d76a1
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/config.h
@@ -0,0 +1,51 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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 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
+
+// ROWS: Top to bottom, COLS: Left to right
+
+#define MATRIX_ROW_PINS { B1, B2, B3, B4, B5, B6, E5, E4, D4, D5, D7, D6 }
+#define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, D0, D1, D2 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/*EEPROM for via*/
+#define DYNAMIC_KEYMAP_LAYER_COUNT 3
+
+/* RGB */
+#define RGB_DI_PIN B0
+#define RGBLED_NUM 12 \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/glacier/glacier.c b/keyboards/handwired/swiftrax/glacier/glacier.c
new file mode 100644
index 0000000000..a30c69ba87
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/glacier.c
@@ -0,0 +1,18 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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 "glacier.h"
+
diff --git a/keyboards/handwired/swiftrax/glacier/glacier.h b/keyboards/handwired/swiftrax/glacier/glacier.h
new file mode 100644
index 0000000000..1a731ea072
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/glacier.h
@@ -0,0 +1,43 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@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 ___ KC_NO
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, K17, K08, K18, K09, \
+ K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K78, K27, K37, K28, K38, K29, \
+ K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, K57, K48, K58, K49, \
+ K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K67, K77, K68, \
+ K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K95, K86, K96, K87, K97, K88, \
+ KA0, KB0, KA1, KB3, KA4, KB4, KA5, KB5, KA6, KB6, KA7 \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, ___ }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, ___ }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49 }, \
+ { K50, K51, K52, K53, K54, K55, K56, K57, K58, ___ }, \
+ { K60, K61, K62, K63, K64, K65, K66, K67, K68, ___ }, \
+ { K70, K71, K72, K73, K74, K75, ___, K77, K78, ___ }, \
+ { K80, K81, K82, K83, K84, K85, K86, K87, K88, ___ }, \
+ { K90, K91, K92, K93, K94, K95, K96, K97, ___, ___ }, \
+ { KA0, KA1, ___, ___, KA4, KA5, KA6, KA7, ___, ___ }, \
+ { KB0, ___, ___, KB3, KB4, KB5, KB6, ___, ___, ___ } \
+}
diff --git a/keyboards/handwired/swiftrax/glacier/info.json b/keyboards/handwired/swiftrax/glacier/info.json
new file mode 100644
index 0000000000..f185e9f898
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/info.json
@@ -0,0 +1,10 @@
+{
+ "keyboard_name": "Glacier",
+ "url": "https://www.github.com/swiftrax",
+ "maintainer": "swiftrax",
+ "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}]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/glacier/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/glacier/keymaps/default/keymap.c
new file mode 100644
index 0000000000..2c4c5b3ddf
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/keymaps/default/keymap.c
@@ -0,0 +1,28 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SLCK, KC_PAUS, KC_HOME, KC_END , 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_INS , 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_PGUP, 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, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_PDOT
+ )
+};
diff --git a/keyboards/handwired/swiftrax/glacier/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/glacier/keymaps/via/keymap.c
new file mode 100644
index 0000000000..50ea5443d0
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/keymaps/via/keymap.c
@@ -0,0 +1,44 @@
+/*
+Copyright 2021 Swiftrax <swiftrax@gmail.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SLCK, KC_PAUS, KC_HOME, KC_END , 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_INS , 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_PGUP, 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, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_PDOT
+ ),
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/handwired/swiftrax/glacier/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/glacier/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/glacier/readme.md b/keyboards/handwired/swiftrax/glacier/readme.md
new file mode 100644
index 0000000000..36588e000e
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/readme.md
@@ -0,0 +1,18 @@
+# Glacier
+
+1800 Style Keyboard based on the Austin
+
+* Keyboard Maintainer: Swiftrax
+* Hardware Supported: Glacier
+* Hardware Availability: Glacier 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 `RESET` if it is available
+
+Make example for flashing this keyboard (after setting up your build environment):
+
+ make handwired/swiftrax/glacier:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/swiftrax/glacier/rules.mk b/keyboards/handwired/swiftrax/glacier/rules.mk
new file mode 100644
index 0000000000..b2d6d9e43c
--- /dev/null
+++ b/keyboards/handwired/swiftrax/glacier/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = at90usb1286
+
+# 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 \ No newline at end of file
diff --git a/keyboards/handwired/swiftrax/joypad/rules.mk b/keyboards/handwired/swiftrax/joypad/rules.mk
index 6b3745a8b7..451ec62f44 100644
--- a/keyboards/handwired/swiftrax/joypad/rules.mk
+++ b/keyboards/handwired/swiftrax/joypad/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/koalafications/rules.mk b/keyboards/handwired/swiftrax/koalafications/rules.mk
index a1f5aee483..4c7427c0d7 100644
--- a/keyboards/handwired/swiftrax/koalafications/rules.mk
+++ b/keyboards/handwired/swiftrax/koalafications/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/nodu/rules.mk b/keyboards/handwired/swiftrax/nodu/rules.mk
index df27d80139..df4ed84fcd 100644
--- a/keyboards/handwired/swiftrax/nodu/rules.mk
+++ b/keyboards/handwired/swiftrax/nodu/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/pandamic/rules.mk b/keyboards/handwired/swiftrax/pandamic/rules.mk
index 4c48ed51f4..e1c8e595cf 100644
--- a/keyboards/handwired/swiftrax/pandamic/rules.mk
+++ b/keyboards/handwired/swiftrax/pandamic/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/the_galleon/rules.mk b/keyboards/handwired/swiftrax/the_galleon/rules.mk
index 378c644afc..662963630b 100644
--- a/keyboards/handwired/swiftrax/the_galleon/rules.mk
+++ b/keyboards/handwired/swiftrax/the_galleon/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/unsplit/rules.mk b/keyboards/handwired/swiftrax/unsplit/rules.mk
index 7ea82008aa..14c4d5ddea 100644
--- a/keyboards/handwired/swiftrax/unsplit/rules.mk
+++ b/keyboards/handwired/swiftrax/unsplit/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/swiftrax/walter/rules.mk b/keyboards/handwired/swiftrax/walter/rules.mk
index 34d93c52cb..0d1740dcad 100644
--- a/keyboards/handwired/swiftrax/walter/rules.mk
+++ b/keyboards/handwired/swiftrax/walter/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/symmetric70_proto/promicro/rules.mk b/keyboards/handwired/symmetric70_proto/promicro/rules.mk
index 22b7376b94..fbe412faef 100644
--- a/keyboards/handwired/symmetric70_proto/promicro/rules.mk
+++ b/keyboards/handwired/symmetric70_proto/promicro/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/symmetric70_proto/proton_c/rules.mk b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk
index 8b19f79b3b..81d40223ea 100644
--- a/keyboards/handwired/symmetric70_proto/proton_c/rules.mk
+++ b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk
@@ -13,10 +13,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/symmetry60/keymaps/default/config.h b/keyboards/handwired/symmetry60/keymaps/default/config.h
deleted file mode 100644
index 7b52e1dd03..0000000000
--- a/keyboards/handwired/symmetry60/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 marhalloweenvt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/symmetry60/rules.mk b/keyboards/handwired/symmetry60/rules.mk
index 8304e18ae7..efbbc778ce 100644
--- a/keyboards/handwired/symmetry60/rules.mk
+++ b/keyboards/handwired/symmetry60/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/t111/rules.mk b/keyboards/handwired/t111/rules.mk
index 5a0df50158..3e70fa7f95 100644
--- a/keyboards/handwired/t111/rules.mk
+++ b/keyboards/handwired/t111/rules.mk
@@ -15,10 +15,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/tennie/keymaps/simple-numbpad/config.h b/keyboards/handwired/tennie/keymaps/simple-numbpad/config.h
deleted file mode 100644
index a3c309bb29..0000000000
--- a/keyboards/handwired/tennie/keymaps/simple-numbpad/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 Jack Hildebrandt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/tennie/keymaps/soundboard/config.h b/keyboards/handwired/tennie/keymaps/soundboard/config.h
deleted file mode 100644
index 5a1cba7b40..0000000000
--- a/keyboards/handwired/tennie/keymaps/soundboard/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 Jacob Hillebrand
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/tennie/rules.mk b/keyboards/handwired/tennie/rules.mk
index 254ec54a32..b619ca4952 100644
--- a/keyboards/handwired/tennie/rules.mk
+++ b/keyboards/handwired/tennie/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
index 352ab99db4..b30aa81f2d 100644
--- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
+++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
@@ -61,10 +61,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------------------------------------------------------'
*/
[_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_DEL, \
- KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
- KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
- KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL \
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
+ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL
),
/* QWERTY -
@@ -79,10 +79,10 @@ 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_DEL, \
- 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_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_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL \
+ 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_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL
),
/* Dvorak
@@ -97,10 +97,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_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_DEL, \
- KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
- KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, \
- KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL \
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL,
+ KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
+ KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC,
+ KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL
),
/* Lower
@@ -117,10 +117,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LOWER] = LAYOUT(
- KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PSLS, KC_7, KC_8, KC_9, KC_PAST, XXXXXXX, _______, \
- _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_MINS, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, _______, \
- _______, _______, _______, _______, _______, KC_EQL, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______, \
- _______, _______, _______, _______, _______, KC_0, KC_DOT, MO(5), RAISE, _______ \
+ KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PSLS, KC_7, KC_8, KC_9, KC_PAST, XXXXXXX, _______,
+ _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_MINS, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, KC_EQL, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, KC_0, KC_DOT, MO(5), RAISE, _______
),
/* Raise
@@ -136,10 +136,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT(
- KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______, \
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
- _______, R_POINT, R_PIPE, KC_LCBR, KC_LBRC, KC_GRV, KC_BSLS, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______, \
- _______, _______, XXXXXXX, _______, SPC_LW, ENT_RS, MO(5), MO(6), _______, _______ \
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ _______, R_POINT, R_PIPE, KC_LCBR, KC_LBRC, KC_GRV, KC_BSLS, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______,
+ _______, _______, XXXXXXX, _______, SPC_LW, ENT_RS, MO(5), MO(6), _______, _______
),
/*Function
@@ -155,10 +155,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FUNCTION] = LAYOUT(
- _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS, \
- KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK, \
- _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_PAUS \
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS,
+ KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK,
+ _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_PAUS
),
/* MOUSE
@@ -174,10 +174,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_MOUSE] = LAYOUT(
- KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, \
- KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, XXXXXXX, MO(6), XXXXXXX, KC_RCTL \
+ KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX,
+ KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, XXXXXXX, MO(6), XXXXXXX, KC_RCTL
),
/* Adjust (Lower + Raise)
@@ -193,10 +193,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, RESET, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, \
- _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, RESET, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
+ _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/rules.mk b/keyboards/handwired/terminus_mini/keymaps/default/rules.mk
index 79bfc30ab5..8fcd018bd5 100644
--- a/keyboards/handwired/terminus_mini/keymaps/default/rules.mk
+++ b/keyboards/handwired/terminus_mini/keymaps/default/rules.mk
@@ -1,15 +1,10 @@
-# QMK Build Options
-# change to "no" to disable the options, or define them in the rules.mk in
-# the appropriate keymap folder that will get included automatically
-#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = no # Enable Tap Dance
diff --git a/keyboards/handwired/terminus_mini/rules.mk b/keyboards/handwired/terminus_mini/rules.mk
index 87dcc07500..8121b44ca7 100644
--- a/keyboards/handwired/terminus_mini/rules.mk
+++ b/keyboards/handwired/terminus_mini/rules.mk
@@ -12,10 +12,7 @@ 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
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/trackpoint/keymaps/default/keymap.c b/keyboards/handwired/trackpoint/keymaps/default/keymap.c
index 60da300924..1792cb4271 100644
--- a/keyboards/handwired/trackpoint/keymaps/default/keymap.c
+++ b/keyboards/handwired/trackpoint/keymaps/default/keymap.c
@@ -2,6 +2,6 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- KC_BTN1, KC_BTN3, KC_BTN2 \
+ KC_BTN1, KC_BTN3, KC_BTN2
)
};
diff --git a/keyboards/handwired/trackpoint/rules.mk b/keyboards/handwired/trackpoint/rules.mk
index 46e1d60f92..f471f00dfc 100644
--- a/keyboards/handwired/trackpoint/rules.mk
+++ b/keyboards/handwired/trackpoint/rules.mk
@@ -4,14 +4,15 @@ MCU = atmega32u4
# Bootloader selection
BOOTLOADER = halfkay
-
+# 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
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = no # USB Nkey Rollover
+NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
index 913a9f0aa2..bba9db137b 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
@@ -89,3 +89,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* PMW3360 Settings */
#define PMW3360_CS_PIN B0
+
+#define POINTING_DEVICE_RIGHT
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
index 78a7db67a9..290ea22c5f 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
@@ -115,103 +115,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
// clang-format on
-
-#ifdef POINTING_DEVICE_ENABLE
-static uint16_t mouse_timer = 0;
-static uint16_t mouse_debounce_timer = 0;
-static uint8_t mouse_keycode_tracker = 0;
-bool tap_toggling = false;
-
-void process_mouse_user(report_mouse_t* mouse_report, int8_t x, int8_t y) {
- if ((x || y) && timer_elapsed(mouse_timer) > 125) {
- mouse_timer = timer_read();
- if (!layer_state_is(_MOUSE) && !(layer_state_is(_GAMEPAD) || layer_state_is(_DIABLO)) && timer_elapsed(mouse_debounce_timer) > 125) {
- layer_on(_MOUSE);
- }
- }
-
-# ifdef TAPPING_TERM_PER_KEY
- if (timer_elapsed(mouse_debounce_timer) > get_tapping_term(KC_BTN1, NULL)
-# else
- if (timer_elapsed(mouse_debounce_timer) > TAPPING_TERM
-# endif
- || (layer_state_is(_GAMEPAD) || layer_state_is(_DIABLO))) {
- mouse_report->x = x;
- mouse_report->y = y;
- }
-# ifdef OLED_ENABLE
- if (x || y) oled_timer = timer_read32();
-# endif
-}
-
-void matrix_scan_keymap(void) {
- if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) {
- layer_off(_MOUSE);
- }
- if (tap_toggling) {
- if (!layer_state_is(_MOUSE)) {
- layer_on(_MOUSE);
- }
- }
-}
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case TT(_MOUSE):
- {
- if (record->event.pressed) {
- mouse_keycode_tracker++;
- } else {
-# if TAPPING_TOGGLE != 0
- if (record->tap.count == TAPPING_TOGGLE) {
- tap_toggling ^= 1;
-# if TAPPING_TOGGLE == 1
- if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1;
-# else
- if (!tap_toggling) mouse_keycode_tracker -= record->tap.count;
-# endif
- } else {
- mouse_keycode_tracker--;
- }
-# endif
- }
- mouse_timer = timer_read();
- break;
- }
- case MO(_MOUSE):
- case DPI_CONFIG:
- case KC_MS_UP ... KC_MS_WH_RIGHT:
- record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--;
- mouse_timer = timer_read();
- break;
- default:
- if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) {
- layer_off(_MOUSE);
- }
- mouse_keycode_tracker = 0;
- mouse_debounce_timer = timer_read();
- break;
- }
- return true;
-}
-
-layer_state_t layer_state_set_keymap(layer_state_t state) {
- if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) {
- state |= (1UL << _MOUSE);
- }
- return state;
-}
-#endif
-
-void matrix_init_keymap(void) {
-#ifdef AUDIO_ENABLE
- extern audio_config_t audio_config;
-
- if (!is_keyboard_master()) {
- audio_stop_all();
- audio_config.enable = false;
- }
-#endif
-}
-
-void keyboard_post_init_keymap(void) { matrix_init_keymap(); }
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
index c80cf8929d..e83e9a7bba 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
@@ -12,10 +12,7 @@ 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
+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/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
index 6f702bd59e..59cd098fdb 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
@@ -50,4 +50,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
-#define OLED_DISPLAY_128X64
+#define POINTING_DEVICE_TASK_THROTTLE
+#define POINTING_DEVICE_RIGHT
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 9daec0cd8f..d8d36e824c 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLED_SPLIT \
{ 10, 10 }
#define RGBLIGHT_LIMIT_VAL 80
-#define OLED_BRIGHTNESS 50
#define AUDIO_PIN C6
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
index 986ccae69b..6ae51ca6f0 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
@@ -43,12 +43,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy).
#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // 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.
+#define WS2812_PWM_TARGET_PERIOD 800000
+
#define RGBLED_NUM 52
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT \
{ 26, 26 }
-#define RGBLIGHT_LIMIT_VAL 150
#define DEBUG_LED_PIN C13
@@ -68,6 +69,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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 CRC8_USE_TABLE
+#define CRC8_OPTIMIZE_SPEED
+
/* i2c config for oleds */
#define I2C_DRIVER I2CD1
#define I2C1_SCL_PIN B8
@@ -75,9 +80,6 @@ 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
-/* For Legacy Compatibility: */
-#define I2C1_SCL 8
-#define I2C1_SDA 9
/* encoder config */
#define ENCODERS_PAD_A \
@@ -110,3 +112,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PMW3360_CS_PIN B0
#define PMW3360_SPI_MODE 3
#define PMW3360_SPI_DIVISOR 64
+#define PMW3360_FIRMWARE_UPLOAD_FAST
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
index 700b0685f2..5cd269e311 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c
@@ -16,7 +16,7 @@
#include "f411.h"
-void matrix_init_sub_kb(void) { setPinInputHigh(A0); }
+void keyboard_pre_init_sub(void) { setPinInputHigh(A0); }
void matrix_scan_sub_kb(void) {
if (!readPin(A0)) {
@@ -24,6 +24,33 @@ void matrix_scan_sub_kb(void) {
}
}
+void bootmagic_lite(void) {
+ // We need multiple scans because debouncing can't be turned off.
+ matrix_scan();
+#if defined(DEBOUNCE) && DEBOUNCE > 0
+ wait_ms(DEBOUNCE * 2);
+#else
+ wait_ms(30);
+#endif
+ matrix_scan();
+
+ uint8_t row = BOOTMAGIC_LITE_ROW;
+ uint8_t col = BOOTMAGIC_LITE_COLUMN;
+
+#if defined(SPLIT_KEYBOARD) && defined(BOOTMAGIC_LITE_ROW_RIGHT) && defined(BOOTMAGIC_LITE_COLUMN_RIGHT)
+ if (!is_keyboard_left()) {
+ row = BOOTMAGIC_LITE_ROW_RIGHT;
+ col = BOOTMAGIC_LITE_COLUMN_RIGHT;
+ }
+#endif
+
+ if (matrix_get_row(row) & (1 << col) || !readPin(A0)) {
+ eeconfig_disable();
+ bootloader_jump();
+ }
+}
+
+
#ifdef USB_VBUS_PIN
bool usb_vbus_state(void) {
setPinInputLow(USB_VBUS_PIN);
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/post_config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/post_config.h
new file mode 100644
index 0000000000..0e33129e1a
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/post_config.h
@@ -0,0 +1,20 @@
+// Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#ifndef RGBLIGHT_LIMIT_VAL
+# if defined(OLED_ENABLE)
+# define RGBLIGHT_LIMIT_VAL 100
+# else
+# define RGBLIGHT_LIMIT_VAL 150
+# endif
+#endif
+
+#ifndef OLED_BRIGHTNESS
+# ifdef RGBLIGHT_ENABLE
+# define OLED_BRIGHTNESS 80
+# else
+# define OLED_BRIGHTNESS 150
+# endif
+#endif
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
index b387435122..f732295ba3 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md
@@ -1,7 +1,7 @@
# Drashna's Blackpill Tractyl Manuform (5x6) with a right side trackball
* System Timer on TIM5
-* ~~VBUS mod, using PB10~~ (*doesn't seem to work for me*)
+* VBUS mod, using PB10 -- does work, but not on my tractyl... bad soldering probably
* Split Hand Pin, using PC14
* Full Duplex Serial/USART using PA2 and PA3 on USART2
* PWM Audio using PB1 and TIM3 and GPT on TIM4
@@ -12,7 +12,8 @@
* SSD1306 OLED display (128x64) using PB8-PB9 on I2C1
* Pull-up resistor (22k) on PA10 to fix reset issue.
* Pull-up resistor (5.1k) on PA1 for WS2812 LED support, and wire it's VCC to the 5V pin.
-* Pins PA9, PA11, A12 are not useable because they're used for USB connection, and can't be shared.
+* Pins PA9 is meant for VBUS sense, and has an internal pulldown resistor. A 5.1k pullup resistor can work (but should be avoided)
+* Pins PA11 and A12 are not useable because they're used for USB connection, and can't be shared.
* Pin PB2 is used by BOOT1, and is unusable
## Keyboard Info
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
index d6f972b468..0a4fbee0e5 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
@@ -6,7 +6,7 @@ BOOTLOADER = stm32-dfu
KEYBOARD_SHARED_EP = yes
CONSOLE_ENABLE = yes
-MOUSE_SHARED_EP = no
+MOUSE_SHARED_EP = yes
EEPROM_DRIVER = spi
WS2812_DRIVER = pwm
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 577b709bb5..c3a30d2bc8 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
@@ -16,6 +16,9 @@
#pragma once
-#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 }
-
#define DEBOUNCE 45
+#define ENCODER_DEFAULT_POS 0x3
+
+#ifdef OLED_DRIVER_SH1107
+# undef OLED_DISPLAY_128X64
+#endif
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 3de8bcf108..fa1e8897ee 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -16,11 +16,6 @@
#include "drashna.h"
-enum tractyl_keycodes {
- KC_ACCEL = NEW_SAFE_RANGE,
-};
-
-bool enable_acceleration = false;
// clang-format off
#define LAYOUT_5x6_right_wrapper(...) LAYOUT_5x6_right(__VA_ARGS__)
#define LAYOUT_5x6_right_base( \
@@ -65,9 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_MOUSE] = LAYOUT_5x6_right(
- _______, _______, _______, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______,
+ _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, DPI_CONFIG,
_______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
_______, _______, _______, _______,
_______, _______, KC_BTN3,
@@ -75,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______
),
[_GAMEPAD] = LAYOUT_5x6_right(
- KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, DPI_CONFIG, _______, _______, _______, _______, _______,
+ 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, _______, _______, _______, _______, _______, _______,
@@ -125,14 +120,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______
),
[_ADJUST] = LAYOUT_5x6_right_wrapper(
- KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST,
+ KC_MAKE, KC_WIDE,KC_AUSSIE,KC_SCRIPT,KC_ZALGO,KC_NOMODE, KC_NOMODE,KC_BLOCKS,KC_REGIONAL,_______,_______, KC_RST,
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
- HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO,
- HPT_TOG, HPT_BUZ, KC_NUKE,
+ TG(_DIABLOII), AUTO_CTN, TG_GAME, TG_DBLO,
+ _______, REBOOT, KC_NUKE,
_______, _______, _______,
- _______, TG(_DIABLOII),KC_NUKE, _______
+ _______, _______, KC_NUKE, _______
),
};
@@ -169,255 +164,50 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
#endif
-#ifdef POINTING_DEVICE_ENABLE
-static uint16_t mouse_timer = 0;
-static uint16_t mouse_debounce_timer = 0;
-static uint8_t mouse_keycode_tracker = 0;
-bool tap_toggling = false;
-
-# ifdef TAPPING_TERM_PER_KEY
-# define TAP_CHECK get_tapping_term(KC_BTN1, NULL)
-# else
-# ifndef TAPPING_TERM
-# define TAPPING_TERM 200
-# endif
-# define TAP_CHECK TAPPING_TERM
-# endif
-
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
- int8_t x = mouse_report.x, y = mouse_report.y;
- mouse_report.x = 0;
- mouse_report.y = 0;
-
- if (x != 0 && y != 0) {
- mouse_timer = timer_read();
-# ifdef OLED_ENABLE
- oled_timer = timer_read32();
-# endif
- if (timer_elapsed(mouse_debounce_timer) > TAP_CHECK) {
- if (enable_acceleration) {
- x = (x > 0 ? x * x / 16 + x : -x * x / 16 + x);
- y = (y > 0 ? y * y / 16 + y : -y * y / 16 + y);
- }
- mouse_report.x = x;
- mouse_report.y = y;
- if (!layer_state_is(_MOUSE)) {
- layer_on(_MOUSE);
- }
- }
- }
- return mouse_report;
-}
-
-void matrix_scan_keymap(void) {
- if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) {
- layer_off(_MOUSE);
- }
- if (tap_toggling) {
- if (!layer_state_is(_MOUSE)) {
- layer_on(_MOUSE);
- }
- }
-}
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case TT(_MOUSE):
- if (record->event.pressed) {
- mouse_keycode_tracker++;
- } else {
-# if TAPPING_TOGGLE != 0
- if (record->tap.count == TAPPING_TOGGLE) {
- tap_toggling ^= 1;
-# if TAPPING_TOGGLE == 1
- if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1;
-# else
- if (!tap_toggling) mouse_keycode_tracker -= record->tap.count;
-# endif
- } else {
- mouse_keycode_tracker--;
- }
-# endif
- }
- mouse_timer = timer_read();
- break;
- case TG(_MOUSE):
- if (record->event.pressed) {
- tap_toggling ^= 1;
- }
- break;
- case MO(_MOUSE):
- case DPI_CONFIG:
- case KC_MS_UP ... KC_MS_WH_RIGHT:
- record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--;
- mouse_timer = timer_read();
- case KC_ACCEL:
- enable_acceleration = record->event.pressed;
- break;
- default:
- if (IS_NOEVENT(record->event)) break;
- if ((keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) && (((keycode >> 0x8) & 0xF) == _MOUSE)) {
- record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--;
- mouse_timer = timer_read();
- break;
- }
- if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) {
- layer_off(_MOUSE);
- }
- mouse_keycode_tracker = 0;
- mouse_debounce_timer = timer_read();
- break;
- }
- return true;
-}
-
-layer_state_t layer_state_set_keymap(layer_state_t state) {
- if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) {
- state |= ((layer_state_t)1 << _MOUSE);
- }
- return state;
-}
-#endif
-
#ifdef OLED_ENABLE
-// WPM-responsive animation stuff here
-# define SLEEP_FRAMES 2
-# define SLEEP_SPEED 10 // below this wpm value your animation will idle
-
-# define WAKE_FRAMES 2 // uncomment if >1
-
-# define KAKI_FRAMES 3
-# define KAKI_SPEED 40 // above this wpm value typing animation to triggere
-
-# define RTOGI_FRAMES 2
-//#define LTOGI_FRAMES 2
-
-//#define ANIM_FRAME_DURATION 500 // how long each frame lasts in ms
-// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-# define ANIM_SIZE 512 // number of bytes in array, minimize for adequate firmware size, max is 1024
+extern uint16_t typing_mode;
-uint32_t anim_timer = 0;
-uint32_t anim_frame_duration = 500;
-uint8_t current_sleep_frame = 0;
-uint8_t current_wake_frame = 0; // uncomment if WAKE_FRAMES >1
-uint8_t current_kaki_frame = 0;
-uint8_t current_rtogi_frame = 0;
-// uint8_t current_ltogi_frame = 0;
+oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_180; }
-void render_kitty(void) {
- // Images credit j-inc(/James Incandenza) and pixelbenny. Credit to obosob for initial animation approach.
- static const char PROGMEM sleep[SLEEP_FRAMES][ANIM_SIZE] = {{
- // 'sleep1', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0xa8, 0x48, 0xa8, 0x18, 0x08, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x80, 0x44, 0x84, 0x06, 0x05, 0x04, 0x80, 0x40, 0x20, 0x10, 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, 0xc0, 0x20, 0x18, 0x04, 0x04, 0x02, 0x7a, 0x86, 0x01, 0x80, 0x80, 0x01, 0x03, 0x05, 0x07, 0x01, 0x00, 0x00, 0x80, 0x83, 0x45, 0xfa, 0x3c, 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, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, 0x28, 0x29, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- {// 'sleep2', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x3a, 0x2a, 0x26, 0x22, 0x80, 0xc0, 0x80, 0x00, 0x24, 0x34, 0x2c, 0xe4, 0x60, 0x10, 0x70, 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, 0x00, 0x00, 0x00, 0xc0, 0x38, 0x04, 0x02, 0x02, 0x01, 0x79, 0x87, 0x01, 0x80, 0x81, 0x83, 0x05, 0x05, 0x03, 0x01, 0x00, 0x00, 0x80, 0x43, 0x05, 0xfa, 0x3c, 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, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, 0x28, 0x28, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 wake[WAKE_FRAMES][ANIM_SIZE] = {{
- // 'mati2', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 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, 0x7f, 0x80, 0x40, 0x40, 0x5c, 0x00, 0x01, 0x41, 0x01, 0x00, 0x5c, 0x40, 0x40, 0x80, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe1, 0x12, 0x0a, 0x06, 0x00, 0x80, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- {// 'mati3', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 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, 0x7f, 0x90, 0x12, 0x0a, 0x02, 0xf4, 0x09, 0x0d, 0xf1, 0x04, 0x02, 0x0a, 0x12, 0x90, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xe1, 0x12, 0x0a, 0x06, 0x01, 0x81, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 kaki[KAKI_FRAMES][ANIM_SIZE] = {{
- // 'jare2', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x80, 0x80, 0x00, 0xfc, 0x84, 0x08, 0x08, 0x10, 0x20, 0x40, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1e, 0x60, 0x80, 0x00, 0x00, 0x91, 0xa1, 0x80, 0x00, 0x00, 0x22, 0x84, 0x40, 0x50, 0x48, 0xc1, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x41, 0x82, 0xe2, 0x12, 0x0a, 0x06, 0x00, 0x80, 0x88, 0x4f, 0x02, 0x22, 0xe2, 0x9f, 0x40, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1a, 0x0a, 0x0a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- {
- // 'kaki1', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x20, 0x20, 0x40, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1a, 0x22, 0xc2, 0x04, 0x04, 0x04, 0x07, 0x00, 0xc0, 0x20, 0x10, 0x80, 0x80, 0x01, 0x01, 0x02, 0xfc, 0xfe, 0x02, 0x3c, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0d, 0x8d, 0x55, 0x50, 0x94, 0xf0, 0x10, 0x09, 0x08, 0x00, 0x80, 0x00, 0x06, 0x09, 0x1b, 0xee, 0x00, 0x00, 0x00, 0x00, 0x81, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, 0x14, 0x16, 0x15, 0x14, 0x14, 0x14, 0x14, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- {// 'kaki2', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x20, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xf0, 0x00, 0x01, 0x02, 0x04, 0x04, 0x03, 0x80, 0x40, 0x40, 0x20, 0x00, 0x01, 0x02, 0x8c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x0d, 0x8d, 0x55, 0x50, 0x94, 0xf0, 0x10, 0x0a, 0x0e, 0x1d, 0x95, 0x24, 0x24, 0x27, 0x13, 0xe1, 0x01, 0x01, 0x01, 0x01, 0x02, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, 0x14, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 rtogi[KAKI_FRAMES][ANIM_SIZE] = {{
- // 'rtogi1', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x0f, 0x90, 0x10, 0x20, 0xf0, 0xf8, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0xc7, 0xc4, 0x62, 0x23, 0x11, 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,
- 0x80, 0x40, 0x20, 0x10, 0x88, 0xcc, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, 0x04, 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, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 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,
- },
- {// 'rtogi2', 128x32px
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x1f, 0xa0, 0x20, 0x40, 0x80, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x28, 0x6b, 0x40, 0xa0, 0x99, 0x86, 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,
- 0x0f, 0x11, 0x22, 0x44, 0x48, 0x4c, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, 0x04, 0x06, 0x06, 0x06, 0x0e, 0x0e, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 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}};
-
- // assumes 1 frame prep stage
- void animation_phase(void) {
- if (tap_toggling) {
- anim_frame_duration = 300;
- current_rtogi_frame = (current_rtogi_frame + 1) % RTOGI_FRAMES;
- oled_write_raw_P(rtogi[abs((RTOGI_FRAMES - 1) - current_rtogi_frame)], ANIM_SIZE);
- } else {
- if (get_current_wpm() <= SLEEP_SPEED) {
- anim_frame_duration = 500;
- current_sleep_frame = (current_sleep_frame + 1) % SLEEP_FRAMES;
- oled_write_raw_P(sleep[abs((SLEEP_FRAMES - 1) - current_sleep_frame)], ANIM_SIZE);
- }
- // if(get_current_wpm() >IDLE_SPEED && get_current_wpm() <TAP_SPEED){
- if (get_current_wpm() > SLEEP_SPEED) {
- anim_frame_duration = 800;
- current_wake_frame = (current_wake_frame + 1) % WAKE_FRAMES;
- oled_write_raw_P(wake[abs((WAKE_FRAMES - 1) - current_wake_frame)], ANIM_SIZE);
- // oled_write_raw_P(wake[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
- }
- if (get_current_wpm() >= KAKI_SPEED) {
- anim_frame_duration = 500;
- current_kaki_frame = (current_kaki_frame + 1) % KAKI_FRAMES;
- oled_write_raw_P(kaki[abs((KAKI_FRAMES - 1) - current_kaki_frame)], ANIM_SIZE);
- }
- }
- }
- if (get_current_wpm() != 000) {
- // if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- if (timer_elapsed32(anim_timer) > anim_frame_duration) {
- anim_timer = timer_read32();
- animation_phase();
- }
+void oled_render_large_display(void) {
+ if (is_keyboard_left()) {
+ render_wpm_graph(54, 64);
} else {
- // if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
- if (timer_elapsed32(anim_timer) > anim_frame_duration) {
- anim_timer = timer_read32();
- animation_phase();
+ oled_advance_page(true);
+ oled_advance_page(true);
+
+ static const char PROGMEM logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
+ };
+ oled_write_P(logo, false);
+
+ oled_set_cursor(1, 14);
+ oled_write_ln_P(PSTR("Unicode:"), false);
+ switch (typing_mode) {
+ case KC_WIDE:
+ oled_write_P(PSTR(" Wide"), false);
+ break;
+ case KC_SCRIPT:
+ oled_write_P(PSTR(" Script"), false);
+ break;
+ case KC_BLOCKS:
+ oled_write_P(PSTR(" Blocks"), false);
+ break;
+ case KC_REGIONAL:
+ oled_write_P(PSTR(" Regional"), false);
+ break;
+ case KC_AUSSIE:
+ oled_write_P(PSTR(" Aussie"), false);
+ break;
+ case KC_ZALGO:
+ oled_write_P(PSTR(" Zalgo"), false);
+ break;
+ default:
+ oled_write_P(PSTR(" Normal"), false);
+ break;
}
}
}
-
-void oled_driver_render_logo_left(void) {
- render_kitty();
-
- oled_set_cursor(6, 0);
- oled_write_P(PSTR(" Tractyl "), true);
- oled_set_cursor(6, 1);
- oled_write_P(PSTR(" Manuform "), true);
- oled_set_cursor(6, 2);
-# if defined(WPM_ENABLE)
- render_wpm(1);
-# endif
- oled_set_cursor(6, 3);
-# if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right)
- render_pointing_dpi_status(0);
-# endif
- oled_set_cursor(0, 4);
-}
#endif
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk
index 9b9032837e..9ef58ab5ec 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk
@@ -1,14 +1,36 @@
-RGBLIGHT_ENABLE = yes
-RGBLIGHT_STARTUP_ANIMATION = yes
-AUDIO_ENABLE = yes
-HAPTIC_ENABLE = no
-COMMAND_ENABLE = no
-TAP_DANCE_ENABLE = yes
-UNICODE_ENABLE = yes
-OLED_ENABLE = yes
-WPM_ENABLE = yes
-ENCODER_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
+COMMAND_ENABLE = no
+RGBLIGHT_ENABLE = yes
+RGBLIGHT_STARTUP_ANIMATION = yes
+AUDIO_ENABLE = yes
+HAPTIC_ENABLE = no
+TAP_DANCE_ENABLE = yes
+OLED_ENABLE = yes
+WPM_ENABLE = yes
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+AUTOCORRECTION_ENABLE = yes
+CAPS_WORD_ENABLE = yes
+
+ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/elite_c)
+ RGBLIGHT_ENABLE = no
+ AUDIO_ENABLE = no
+ HAPTIC_ENABLE = no
+ TAP_DANCE_ENABLE = no
+ OLED_ENABLE = no
+ WPM_ENABLE = no
+ ENCODER_ENABLE = no
+ AUTOCORRECTION_ENABLE = no
+ LTO_SUPPORTED = yes
+ SWAP_HANDS_ENABLE = no
+ CUSTOM_UNICODE_ENABLE = no
+ CAPS_WORD_ENABLE = no
+ BOOTLOADER = qmk-hid
+ BOOTLOADER_SIZE = 512
+endif
+ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/teensy2pp)
+ AUTOCORRECTION_ENABLE = no
+ CAPS_WORD_ENABLE = yes
+endif
# DEBOUNCE_TYPE = sym_eager_pk
-LTO_SUPPORTED = no
+OLED_DRIVER = custom
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk
index 699e826485..37bbbb4dae 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk
@@ -6,10 +6,7 @@ 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
+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
@@ -17,7 +14,7 @@ SWAP_HANDS_ENABLE = yes
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pmw3360
-MOUSE_SHARED_EP = no
+MOUSE_SHARED_EP = yes
SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/tractyl_manuform/tm_sync.c b/keyboards/handwired/tractyl_manuform/tm_sync.c
index 4739af1e76..549a17a22f 100644
--- a/keyboards/handwired/tractyl_manuform/tm_sync.c
+++ b/keyboards/handwired/tractyl_manuform/tm_sync.c
@@ -1,5 +1,6 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- *
+ * Copyright 2021 Dasky (@daskygit)
+
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
@@ -14,19 +15,29 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "tractyl_manuform.h"
+#include QMK_KEYBOARD_H
+#include "pointing_device.h"
#include "transactions.h"
#include <string.h>
+#ifdef MOUSEKEY_ENABLE
+# include "mousekey.h"
+#endif
+
+// typedef struct {
+// uint16_t device_cpi;
+// } kb_config_data_t;
-kb_config_data_t kb_config;
-kb_mouse_report_t sync_mouse_report;
+kb_config_data_t kb_config;
+static report_mouse_t shared_mouse_report;
+extern const pointing_device_driver_t pointing_device_driver;
void kb_pointer_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
- if (target2initiator_buffer_size == sizeof(sync_mouse_report)) {
- memcpy(target2initiator_buffer, &sync_mouse_report, sizeof(sync_mouse_report));
- }
- sync_mouse_report.x = 0;
- sync_mouse_report.y = 0;
+ shared_mouse_report = pointing_device_driver.get_report(shared_mouse_report);
+ memcpy(target2initiator_buffer, &shared_mouse_report, sizeof(report_mouse_t));
+ shared_mouse_report.x = 0;
+ shared_mouse_report.y = 0;
+ shared_mouse_report.h = 0;
+ shared_mouse_report.v = 0;
}
void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
@@ -38,12 +49,15 @@ void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* in
// Check if the state values are different
if (cpi != kb_config.device_cpi) {
cpi = kb_config.device_cpi;
+ if (!is_keyboard_left()) {
+ pointing_device_set_cpi(cpi);
+ }
}
}
void keyboard_pre_init_sync(void) {
memset(&kb_config, 0, sizeof(kb_config));
- memset(&sync_mouse_report, 0, sizeof(sync_mouse_report));
+ memset(&shared_mouse_report, 0, sizeof(shared_mouse_report));
}
void keyboard_post_init_sync(void) {
@@ -84,3 +98,83 @@ void trackball_set_cpi(uint16_t cpi) {
pointing_device_set_cpi(cpi);
}
}
+
+void pointing_device_task(void) {
+ if (!is_keyboard_master()) {
+ return;
+ }
+
+#if defined(POINTING_DEVICE_TASK_THROTTLE)
+ static uint32_t last_exec = 0;
+ if (timer_elapsed32(last_exec) < 1) {
+ return;
+ }
+ last_exec = timer_read32();
+#endif
+
+ report_mouse_t local_report = pointing_device_get_report();
+
+ // Gather report info
+#ifdef POINTING_DEVICE_MOTION_PIN
+ if (!readPin(POINTING_DEVICE_MOTION_PIN))
+#endif
+#if defined(POINTING_DEVICE_COMBINED)
+ local_report = pointing_device_driver.get_report(local_report);
+ transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(report_mouse_t), &shared_mouse_report);
+ local_report.x = local_report.x | shared_mouse_report.x;
+ local_report.y = local_report.y | shared_mouse_report.y;
+ local_report.h = local_report.h | shared_mouse_report.h;
+ local_report.v = local_report.v | shared_mouse_report.v;
+#elif defined(POINTING_DEVICE_LEFT)
+ if (is_keyboard_left()) {
+ local_report = pointing_device_driver.get_report(local_report);
+ } else {
+ transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(report_mouse_t), &local_report);
+ }
+#elif defined(POINTING_DEVICE_RIGHT)
+ if (!is_keyboard_left()) {
+ local_report = pointing_device_driver.get_report(local_report);
+ } else {
+ transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(report_mouse_t), &local_report);
+ }
+#else
+# error "You need to define the side(s) the pointing device is on. POINTING_DEVICE_COMBINED / POINTING_DEVICE_LEFT / POINTING_DEVICE_RIGHT"
+#endif
+
+ // Support rotation of the sensor data
+#if defined(POINTING_DEVICE_ROTATION_90) || defined(POINTING_DEVICE_ROTATION_180) || defined(POINTING_DEVICE_ROTATION_270)
+ int8_t x = local_report.x, y = local_report.y;
+# if defined(POINTING_DEVICE_ROTATION_90)
+ local_report.x = y;
+ local_report.y = -x;
+# elif defined(POINTING_DEVICE_ROTATION_180)
+ local_report.x = -x;
+ local_report.y = -y;
+# elif defined(POINTING_DEVICE_ROTATION_270)
+ local_report.x = -y;
+ local_report.y = x;
+# else
+# error "How the heck did you get here?!"
+# endif
+#endif
+ // Support Inverting the X and Y Axises
+#if defined(POINTING_DEVICE_INVERT_X)
+ local_report.x = -local_report.x;
+#endif
+#if defined(POINTING_DEVICE_INVERT_Y)
+ local_report.y = -local_report.y;
+#endif
+
+ // allow kb to intercept and modify report
+ local_report = pointing_device_task_kb(local_report);
+ // combine with mouse report to ensure that the combined is sent correctly
+#ifdef MOUSEKEY_ENABLE
+ report_mouse_t mousekey_report = mousekey_get_report();
+ local_report.buttons = local_report.buttons | mousekey_report.buttons;
+#endif
+#if defined(POINTING_DEVICE_COMBINED)
+ local_report.buttons = local_report.buttons | shared_mouse_report.buttons;
+#endif
+ pointing_device_set_report(local_report);
+ pointing_device_send();
+}
diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
index 5f476fcc98..6095bfb7e2 100644
--- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
+++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
@@ -70,6 +70,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
return true;
}
__attribute__((weak)) void keyboard_pre_init_sync(void) {}
+__attribute__((weak)) void keyboard_pre_init_sub(void) {}
void keyboard_pre_init_kb(void) {
// debug_enable = true;
// debug_matrix = true;
@@ -82,6 +83,7 @@ void keyboard_pre_init_kb(void) {
writePin(DEBUG_LED_PIN, !debug_enable);
#endif
+ keyboard_pre_init_sub();
keyboard_pre_init_sync();
keyboard_pre_init_user();
}
@@ -99,20 +101,8 @@ void pointing_device_init_kb(void) {
}
report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report) {
- if (is_keyboard_left()) {
- if (is_keyboard_master()) {
- transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(sync_mouse_report), &sync_mouse_report);
- mouse_report.x = sync_mouse_report.x;
- mouse_report.y = sync_mouse_report.y;
- pointing_device_task_user(mouse_report);
- }
- } else {
- if (is_keyboard_master()) {
- pointing_device_task_user(mouse_report);
- } else {
- sync_mouse_report.x = mouse_report.x;
- sync_mouse_report.y = mouse_report.y;
- }
+ if (is_keyboard_master()) {
+ mouse_report = pointing_device_task_user(mouse_report);
}
return mouse_report;
}
diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h
index f6a6c07520..c3acade6f1 100644
--- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h
+++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h
@@ -43,15 +43,8 @@ typedef struct {
uint16_t device_cpi;
} kb_config_data_t;
-__attribute__((aligned(16))) typedef struct {
- int8_t x;
- int8_t y;
-} kb_mouse_report_t;
+extern kb_config_data_t kb_config;
-extern kb_mouse_report_t sync_mouse_report;
-
-void process_mouse(void);
-void process_mouse_user(report_mouse_t* mouse_report, int8_t x, int8_t y);
void trackball_set_cpi(uint16_t cpi);
void matrix_init_sub_kb(void);
void matrix_scan_sub_kb(void);
diff --git a/keyboards/handwired/traveller/rules.mk b/keyboards/handwired/traveller/rules.mk
index ac010606a2..7d2cea91df 100644
--- a/keyboards/handwired/traveller/rules.mk
+++ b/keyboards/handwired/traveller/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/tritium_numpad/rules.mk b/keyboards/handwired/tritium_numpad/rules.mk
index 51d9e849de..ae586aa093 100644
--- a/keyboards/handwired/tritium_numpad/rules.mk
+++ b/keyboards/handwired/tritium_numpad/rules.mk
@@ -5,14 +5,14 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# comment out to disable the 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 = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
diff --git a/keyboards/handwired/twadlee/tp69/rules.mk b/keyboards/handwired/twadlee/tp69/rules.mk
index 6264af6a8b..216e797c4b 100644
--- a/keyboards/handwired/twadlee/tp69/rules.mk
+++ b/keyboards/handwired/twadlee/tp69/rules.mk
@@ -9,10 +9,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/unicomp_mini_m/rules.mk b/keyboards/handwired/unicomp_mini_m/rules.mk
index 9372367093..69f5cb2d79 100644
--- a/keyboards/handwired/unicomp_mini_m/rules.mk
+++ b/keyboards/handwired/unicomp_mini_m/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/unk/rules.mk b/keyboards/handwired/unk/rules.mk
index 7197df5016..84e2f3e1b2 100644
--- a/keyboards/handwired/unk/rules.mk
+++ b/keyboards/handwired/unk/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/videowriter/rules.mk b/keyboards/handwired/videowriter/rules.mk
index f4059cc842..f5c8a1405b 100644
--- a/keyboards/handwired/videowriter/rules.mk
+++ b/keyboards/handwired/videowriter/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/wabi/rules.mk b/keyboards/handwired/wabi/rules.mk
index 6c849c7d1e..354f194ca2 100644
--- a/keyboards/handwired/wabi/rules.mk
+++ b/keyboards/handwired/wabi/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here:https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/woodpad/rules.mk b/keyboards/handwired/woodpad/rules.mk
index 72c4f9df2d..098286cbc1 100644
--- a/keyboards/handwired/woodpad/rules.mk
+++ b/keyboards/handwired/woodpad/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/wulkan/rules.mk b/keyboards/handwired/wulkan/rules.mk
index 8aa1554fd4..f60cc5ea80 100644
--- a/keyboards/handwired/wulkan/rules.mk
+++ b/keyboards/handwired/wulkan/rules.mk
@@ -6,7 +6,7 @@ BOARD = QMK_PROTON_C
BOOTLOADER = stm32-dfu
# Build Options
-# comment out to disable the options.
+# change yes to no to disable
#
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
@@ -14,7 +14,7 @@ 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
+NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no
LAYOUTS = ortho_4x12
diff --git a/keyboards/handwired/xealous/keymaps/default/keymap.c b/keyboards/handwired/xealous/keymaps/default/keymap.c
index 41a3f8c805..bf7caef622 100644
--- a/keyboards/handwired/xealous/keymaps/default/keymap.c
+++ b/keyboards/handwired/xealous/keymaps/default/keymap.c
@@ -27,12 +27,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
/* Layer 0: Qwerty */
- [_QWERTY] = LAYOUT_split60( \
- 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, \
- FN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, DF(_NUMPAD), KC_SPC, KC_SPC, KC_RALT, FN, KC_APP, KC_RCTL \
+ [_QWERTY] = LAYOUT_split60(
+ 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,
+ FN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LGUI, KC_LALT, DF(_NUMPAD), KC_SPC, KC_SPC, KC_RALT, FN, KC_APP, KC_RCTL
),
/*
@@ -50,12 +50,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
/* Layer 1: Numpad */
- [_NUMPAD] = LAYOUT_split60( \
- _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PSLS, KC_PAST, KC_MINUS, _______, _______, KC_BSPC, \
- _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PLUS, _______, _______, KC_BSLS, \
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_BSPC, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_DOT, _______, \
- _______, _______, _______,DF(_QWERTY), _______, KC_P0, KC_PDOT, AU_ON, AU_OFF, _______ \
+ [_NUMPAD] = LAYOUT_split60(
+ _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PSLS, KC_PAST, KC_MINUS, _______, _______, KC_BSPC,
+ _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PLUS, _______, _______, KC_BSLS,
+ _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_BSPC, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_DOT, _______,
+ _______, _______, _______,DF(_QWERTY), _______, KC_P0, KC_PDOT, AU_ON, AU_OFF, _______
),
/*
@@ -73,12 +73,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
/* Layer 2: RAISE */
- [_FN] = LAYOUT_split60( \
- KC_GRV, KC_F1, 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_PGUP, KC_UP, KC_PGDN, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
- _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, KC_HOME, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, KC_DEL, _______, \
- _______, _______, _______, _______, _______, KC_END, KC_END, AU_TOG, KC_VOLD, KC_VOLU, KC_MUTE, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ [_FN] = LAYOUT_split60(
+ KC_GRV, KC_F1, 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_PGUP, KC_UP, KC_PGDN, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, KC_HOME, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, KC_DEL, _______,
+ _______, _______, _______, _______, _______, KC_END, KC_END, AU_TOG, KC_VOLD, KC_VOLU, KC_MUTE, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/handwired/xealous/rules.mk b/keyboards/handwired/xealous/rules.mk
index 0d1bb863da..985ee385b9 100644
--- a/keyboards/handwired/xealous/rules.mk
+++ b/keyboards/handwired/xealous/rules.mk
@@ -5,24 +5,20 @@ MCU = atmega32u4
BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # 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 = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SPLIT_KEYBOARD = yes # Use shared split_common code
SUBPROJECT_rev1 = 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
-
SRC += matrix.c
DEBOUNCE_TYPE = sym_eager_pk
diff --git a/keyboards/handwired/xealousbrown/rules.mk b/keyboards/handwired/xealousbrown/rules.mk
index 67b91e6193..795bd74cbe 100644
--- a/keyboards/handwired/xealousbrown/rules.mk
+++ b/keyboards/handwired/xealousbrown/rules.mk
@@ -12,10 +12,7 @@ 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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # 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/handwired/z150/rules.mk b/keyboards/handwired/z150/rules.mk
index f071a8be8c..99b0630157 100644
--- a/keyboards/handwired/z150/rules.mk
+++ b/keyboards/handwired/z150/rules.mk
@@ -15,10 +15,7 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
+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/handwired/zergo/rules.mk b/keyboards/handwired/zergo/rules.mk
index 85646a5e48..ae614e0b6d 100644
--- a/keyboards/handwired/zergo/rules.mk
+++ b/keyboards/handwired/zergo/rules.mk
@@ -12,10 +12,7 @@ MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+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