summaryrefslogtreecommitdiff
path: root/keyboards/handwired
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired')
-rw-r--r--keyboards/handwired/108key_trackpoint/108key_trackpoint.c1
-rw-r--r--keyboards/handwired/108key_trackpoint/108key_trackpoint.h23
-rw-r--r--keyboards/handwired/108key_trackpoint/config.h67
-rw-r--r--keyboards/handwired/108key_trackpoint/info.json125
-rw-r--r--keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c14
-rw-r--r--keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c14
-rw-r--r--keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c14
-rw-r--r--keyboards/handwired/108key_trackpoint/readme.md23
-rw-r--r--keyboards/handwired/108key_trackpoint/rules.mk82
-rw-r--r--keyboards/handwired/412_64/412_64.c29
-rw-r--r--keyboards/handwired/412_64/412_64.h29
-rw-r--r--keyboards/handwired/412_64/config.h194
-rw-r--r--keyboards/handwired/412_64/keymaps/default/config.h5
-rw-r--r--keyboards/handwired/412_64/keymaps/default/keymap.c99
-rw-r--r--keyboards/handwired/412_64/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/412_64/readme.md15
-rw-r--r--keyboards/handwired/412_64/rules.mk73
-rw-r--r--keyboards/handwired/arrow_pad/arrow_pad.c1
-rw-r--r--keyboards/handwired/arrow_pad/arrow_pad.h43
-rw-r--r--keyboards/handwired/arrow_pad/config.h155
-rw-r--r--keyboards/handwired/arrow_pad/info.json62
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/default/keymap.c119
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/config.h153
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c119
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk17
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/config.h155
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c119
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk17
-rw-r--r--keyboards/handwired/arrow_pad/readme.md133
-rw-r--r--keyboards/handwired/arrow_pad/rules.mk70
-rw-r--r--keyboards/handwired/atreus50/atreus50.c10
-rw-r--r--keyboards/handwired/atreus50/atreus50.h36
-rw-r--r--keyboards/handwired/atreus50/config.h155
-rw-r--r--keyboards/handwired/atreus50/info.json70
-rw-r--r--keyboards/handwired/atreus50/keymaps/ajp10304/config.h12
-rw-r--r--keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c342
-rw-r--r--keyboards/handwired/atreus50/keymaps/ajp10304/readme.md108
-rw-r--r--keyboards/handwired/atreus50/keymaps/ajp10304/rules.mk8
-rw-r--r--keyboards/handwired/atreus50/keymaps/default/keymap.c211
-rw-r--r--keyboards/handwired/atreus50/keymaps/default/rules.mk2
-rw-r--r--keyboards/handwired/atreus50/readme.md24
-rw-r--r--keyboards/handwired/atreus50/rules.mk69
-rw-r--r--keyboards/handwired/bluepill/bluepill.c1
-rw-r--r--keyboards/handwired/bluepill/bluepill.h54
-rw-r--r--keyboards/handwired/bluepill/bluepill70/bluepill70.c1
-rw-r--r--keyboards/handwired/bluepill/bluepill70/bluepill70.h4
-rw-r--r--keyboards/handwired/bluepill/bluepill70/bootloader_defs.h10
-rw-r--r--keyboards/handwired/bluepill/bluepill70/chconf.h524
-rw-r--r--keyboards/handwired/bluepill/bluepill70/config.h25
-rw-r--r--keyboards/handwired/bluepill/bluepill70/flash.sh2
-rw-r--r--keyboards/handwired/bluepill/bluepill70/halconf.h354
-rw-r--r--keyboards/handwired/bluepill/bluepill70/info.json187
-rw-r--r--keyboards/handwired/bluepill/bluepill70/led.c38
-rw-r--r--keyboards/handwired/bluepill/bluepill70/matrix.c225
-rw-r--r--keyboards/handwired/bluepill/bluepill70/mcuconf.h209
-rw-r--r--keyboards/handwired/bluepill/bluepill70/rules.mk47
-rw-r--r--keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.c49
-rw-r--r--keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.h170
-rw-r--r--keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.mk5
-rw-r--r--keyboards/handwired/bluepill/config.h53
-rw-r--r--keyboards/handwired/bluepill/keymaps/default/keymap.c69
-rw-r--r--keyboards/handwired/bluepill/keymaps/iso/keymap.c69
-rw-r--r--keyboards/handwired/bluepill/ld/MKL26Z64.ld105
-rw-r--r--keyboards/handwired/bluepill/ld/STM32F103x8_stm32duino_bootloader.ld88
-rw-r--r--keyboards/handwired/bluepill/readme.md60
-rw-r--r--keyboards/handwired/bluepill/rules.mk10
-rw-r--r--keyboards/handwired/ck4x4/bootloader_defs.h7
-rw-r--r--keyboards/handwired/ck4x4/chconf.h524
-rw-r--r--keyboards/handwired/ck4x4/ck4x4.c1
-rw-r--r--keyboards/handwired/ck4x4/ck4x4.h15
-rw-r--r--keyboards/handwired/ck4x4/config.h70
-rw-r--r--keyboards/handwired/ck4x4/halconf.h353
-rw-r--r--keyboards/handwired/ck4x4/keymaps/default/keymap.c29
-rw-r--r--keyboards/handwired/ck4x4/mcuconf.h171
-rw-r--r--keyboards/handwired/ck4x4/readme.md3
-rw-r--r--keyboards/handwired/ck4x4/rules.mk49
-rw-r--r--keyboards/handwired/cmd60/cmd60.c8
-rw-r--r--keyboards/handwired/cmd60/cmd60.h20
-rw-r--r--keyboards/handwired/cmd60/config.h156
-rw-r--r--keyboards/handwired/cmd60/info.json74
-rw-r--r--keyboards/handwired/cmd60/keymaps/default/keymap.c46
-rw-r--r--keyboards/handwired/cmd60/readme.md19
-rw-r--r--keyboards/handwired/cmd60/rules.mk69
-rw-r--r--keyboards/handwired/dactyl/config.h68
-rw-r--r--keyboards/handwired/dactyl/dactyl.c15
-rw-r--r--keyboards/handwired/dactyl/dactyl.h67
-rw-r--r--keyboards/handwired/dactyl/i2cmaster.h178
-rw-r--r--keyboards/handwired/dactyl/info.json13
-rw-r--r--keyboards/handwired/dactyl/keymaps/default/keymap.c177
-rw-r--r--keyboards/handwired/dactyl/keymaps/default/readme.md10
-rw-r--r--keyboards/handwired/dactyl/keymaps/dvorak/keymap.c177
-rw-r--r--keyboards/handwired/dactyl/keymaps/dvorak/readme.md9
-rw-r--r--keyboards/handwired/dactyl/keymaps/erincalling/keymap.c160
-rw-r--r--keyboards/handwired/dactyl/keymaps/erincalling/readme.md6
-rw-r--r--keyboards/handwired/dactyl/matrix.c542
-rw-r--r--keyboards/handwired/dactyl/readme.md39
-rw-r--r--keyboards/handwired/dactyl/rules.mk86
-rw-r--r--keyboards/handwired/dactyl/twimaster.c207
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/4x5.c23
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/4x5.h70
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/config.h46
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/info.json59
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h32
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c126
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/default/rules.mk0
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h34
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c129
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/rules.mk0
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/rules.mk20
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/4x6.c14
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/4x6.h36
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/config.h40
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/info.json65
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h31
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c87
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/rules.mk20
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/5x6.c23
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/5x6.h38
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/config.h41
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/info.json77
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h9
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c80
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk7
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h27
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c52
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h25
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/keymap.c53
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/rules.mk20
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/5x7.c23
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/5x7.h45
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/config.h33
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/info.json87
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h27
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c81
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/rules.mk20
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/6x6.c23
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/6x6.h42
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/config.h33
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/info.json89
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h27
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c55
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/rules.mk20
-rw-r--r--keyboards/handwired/dactyl_manuform/config.h73
-rw-r--r--keyboards/handwired/dactyl_manuform/dactyl_manuform.c1
-rw-r--r--keyboards/handwired/dactyl_manuform/dactyl_manuform.h27
-rw-r--r--keyboards/handwired/dactyl_manuform/readme.md159
-rw-r--r--keyboards/handwired/dactyl_manuform/rules.mk66
-rw-r--r--keyboards/handwired/dactyl_promicro/config.h83
-rw-r--r--keyboards/handwired/dactyl_promicro/dactyl_promicro.c12
-rw-r--r--keyboards/handwired/dactyl_promicro/dactyl_promicro.h39
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/default/config.h25
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c47
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h25
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c47
-rw-r--r--keyboards/handwired/dactyl_promicro/readme.md93
-rw-r--r--keyboards/handwired/dactyl_promicro/rules.mk66
-rw-r--r--keyboards/handwired/datahand/config.h82
-rw-r--r--keyboards/handwired/datahand/datahand.h133
-rw-r--r--keyboards/handwired/datahand/keymaps/default/keymap.c313
-rw-r--r--keyboards/handwired/datahand/matrix.c125
-rw-r--r--keyboards/handwired/datahand/readme.md15
-rw-r--r--keyboards/handwired/datahand/rules.mk59
-rw-r--r--keyboards/handwired/downbubble/config.h240
-rw-r--r--keyboards/handwired/downbubble/downbubble.c16
-rw-r--r--keyboards/handwired/downbubble/downbubble.h111
-rw-r--r--keyboards/handwired/downbubble/info.json559
-rw-r--r--keyboards/handwired/downbubble/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/downbubble/keymaps/default/keymap.c103
-rw-r--r--keyboards/handwired/downbubble/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/downbubble/license201
-rw-r--r--keyboards/handwired/downbubble/readme.md15
-rw-r--r--keyboards/handwired/downbubble/rules.mk81
-rw-r--r--keyboards/handwired/fivethirteen/config.h156
-rw-r--r--keyboards/handwired/fivethirteen/fivethirteen.c8
-rw-r--r--keyboards/handwired/fivethirteen/fivethirteen.h21
-rw-r--r--keyboards/handwired/fivethirteen/info.json77
-rw-r--r--keyboards/handwired/fivethirteen/keymaps/default/keymap.c38
-rw-r--r--keyboards/handwired/fivethirteen/readme.md12
-rw-r--r--keyboards/handwired/fivethirteen/rules.mk68
-rw-r--r--keyboards/handwired/frenchdev/config.h85
-rw-r--r--keyboards/handwired/frenchdev/frenchdev.c87
-rw-r--r--keyboards/handwired/frenchdev/frenchdev.h115
-rw-r--r--keyboards/handwired/frenchdev/i2cmaster.h178
-rw-r--r--keyboards/handwired/frenchdev/info.json114
-rw-r--r--keyboards/handwired/frenchdev/keymaps/default/keymap.c396
-rw-r--r--keyboards/handwired/frenchdev/keymaps/default/readme.md13
-rw-r--r--keyboards/handwired/frenchdev/matrix.c396
-rw-r--r--keyboards/handwired/frenchdev/readme.md101
-rw-r--r--keyboards/handwired/frenchdev/rules.mk89
-rw-r--r--keyboards/handwired/frenchdev/twimaster.c208
-rw-r--r--keyboards/handwired/gamenum/config.h156
-rw-r--r--keyboards/handwired/gamenum/gamenum.c14
-rw-r--r--keyboards/handwired/gamenum/gamenum.h21
-rw-r--r--keyboards/handwired/gamenum/info.json30
-rw-r--r--keyboards/handwired/gamenum/keymaps/default/keymap.c64
-rw-r--r--keyboards/handwired/gamenum/readme.md85
-rw-r--r--keyboards/handwired/gamenum/rules.mk69
-rw-r--r--keyboards/handwired/hexon38/config.h54
-rw-r--r--keyboards/handwired/hexon38/hexon38.c3
-rw-r--r--keyboards/handwired/hexon38/hexon38.h17
-rw-r--r--keyboards/handwired/hexon38/keymaps/default/keymap.c407
-rw-r--r--keyboards/handwired/hexon38/readme.md11
-rw-r--r--keyboards/handwired/hexon38/rules.mk64
-rw-r--r--keyboards/handwired/ibm122m/config.h184
-rw-r--r--keyboards/handwired/ibm122m/ibm122m.c43
-rw-r--r--keyboards/handwired/ibm122m/ibm122m.h41
-rw-r--r--keyboards/handwired/ibm122m/info.json136
-rw-r--r--keyboards/handwired/ibm122m/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/ibm122m/keymaps/default/keymap.c46
-rw-r--r--keyboards/handwired/ibm122m/keymaps/default/readme.md2
-rw-r--r--keyboards/handwired/ibm122m/keymaps/lukaus/config.h19
-rw-r--r--keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c582
-rw-r--r--keyboards/handwired/ibm122m/keymaps/lukaus/readme.md2
-rw-r--r--keyboards/handwired/ibm122m/readme.md16
-rw-r--r--keyboards/handwired/ibm122m/rules.mk67
-rw-r--r--keyboards/handwired/jn68m/config.h49
-rw-r--r--keyboards/handwired/jn68m/info.json16
-rw-r--r--keyboards/handwired/jn68m/jn68m.c37
-rw-r--r--keyboards/handwired/jn68m/jn68m.h49
-rw-r--r--keyboards/handwired/jn68m/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/jn68m/keymaps/default/keymap.c75
-rw-r--r--keyboards/handwired/jn68m/readme.md14
-rw-r--r--keyboards/handwired/jn68m/rules.mk81
-rw-r--r--keyboards/handwired/jot50/config.h38
-rw-r--r--keyboards/handwired/jot50/jot50.c6
-rw-r--r--keyboards/handwired/jot50/jot50.h19
-rw-r--r--keyboards/handwired/jot50/keymaps/default/keymap.c84
-rw-r--r--keyboards/handwired/jot50/readme.md35
-rw-r--r--keyboards/handwired/jot50/rules.mk66
-rw-r--r--keyboards/handwired/jotanck/config.h39
-rw-r--r--keyboards/handwired/jotanck/jotanck.c6
-rw-r--r--keyboards/handwired/jotanck/jotanck.h17
-rw-r--r--keyboards/handwired/jotanck/keymaps/default/keymap.c92
-rw-r--r--keyboards/handwired/jotanck/readme.md38
-rw-r--r--keyboards/handwired/jotanck/rules.mk66
-rw-r--r--keyboards/handwired/jotpad16/config.h38
-rw-r--r--keyboards/handwired/jotpad16/jotpad16.c6
-rw-r--r--keyboards/handwired/jotpad16/jotpad16.h18
-rw-r--r--keyboards/handwired/jotpad16/keymaps/default/keymap.c34
-rw-r--r--keyboards/handwired/jotpad16/readme.md39
-rw-r--r--keyboards/handwired/jotpad16/rules.mk66
-rw-r--r--keyboards/handwired/kbod/config.h156
-rw-r--r--keyboards/handwired/kbod/info.json74
-rw-r--r--keyboards/handwired/kbod/kbod.c28
-rw-r--r--keyboards/handwired/kbod/kbod.h21
-rw-r--r--keyboards/handwired/kbod/keymaps/default/config.h3
-rw-r--r--keyboards/handwired/kbod/keymaps/default/keymap.c103
-rw-r--r--keyboards/handwired/kbod/keymaps/default/readme.md5
-rw-r--r--keyboards/handwired/kbod/keymaps/default/rules.mk17
-rw-r--r--keyboards/handwired/kbod/readme.md18
-rw-r--r--keyboards/handwired/kbod/rules.mk68
-rw-r--r--keyboards/handwired/lovelive9/config.h39
-rw-r--r--keyboards/handwired/lovelive9/info.json12
-rw-r--r--keyboards/handwired/lovelive9/keymaps/default/keymap.c338
-rw-r--r--keyboards/handwired/lovelive9/lovelive9.c7
-rw-r--r--keyboards/handwired/lovelive9/lovelive9.h9
-rw-r--r--keyboards/handwired/lovelive9/readme.md14
-rw-r--r--keyboards/handwired/lovelive9/rules.mk67
-rwxr-xr-xkeyboards/handwired/maartenwut/config.h40
-rw-r--r--keyboards/handwired/maartenwut/info.json80
-rwxr-xr-xkeyboards/handwired/maartenwut/keymaps/default/keymap.c43
-rwxr-xr-xkeyboards/handwired/maartenwut/maartenwut.c13
-rwxr-xr-xkeyboards/handwired/maartenwut/maartenwut.h23
-rw-r--r--keyboards/handwired/maartenwut/readme.md13
-rwxr-xr-xkeyboards/handwired/maartenwut/rules.mk67
-rw-r--r--keyboards/handwired/magicforce61/config.h153
-rw-r--r--keyboards/handwired/magicforce61/info.json74
-rw-r--r--keyboards/handwired/magicforce61/keymaps/default/keymap.c54
-rw-r--r--keyboards/handwired/magicforce61/magicforce61.c8
-rw-r--r--keyboards/handwired/magicforce61/magicforce61.h17
-rw-r--r--keyboards/handwired/magicforce61/readme.md31
-rw-r--r--keyboards/handwired/magicforce61/rules.mk67
-rw-r--r--keyboards/handwired/magicforce68/config.h156
-rw-r--r--keyboards/handwired/magicforce68/info.json81
-rw-r--r--keyboards/handwired/magicforce68/keymaps/default/keymap.c34
-rw-r--r--keyboards/handwired/magicforce68/magicforce68.c8
-rw-r--r--keyboards/handwired/magicforce68/magicforce68.h20
-rw-r--r--keyboards/handwired/magicforce68/readme.md24
-rw-r--r--keyboards/handwired/magicforce68/rules.mk67
-rw-r--r--keyboards/handwired/mechboards_micropad/config.h245
-rw-r--r--keyboards/handwired/mechboards_micropad/info.json12
-rw-r--r--keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c84
-rw-r--r--keyboards/handwired/mechboards_micropad/keymaps/default/readme.md4
-rw-r--r--keyboards/handwired/mechboards_micropad/mechboards_micropad.c43
-rw-r--r--keyboards/handwired/mechboards_micropad/mechboards_micropad.h33
-rw-r--r--keyboards/handwired/mechboards_micropad/readme.md14
-rw-r--r--keyboards/handwired/mechboards_micropad/rules.mk81
-rw-r--r--keyboards/handwired/minorca/config.h75
-rw-r--r--keyboards/handwired/minorca/info.json55
-rw-r--r--keyboards/handwired/minorca/keymaps/default/config.h10
-rw-r--r--keyboards/handwired/minorca/keymaps/default/keymap.c29
-rw-r--r--keyboards/handwired/minorca/keymaps/default/readme.md5
-rw-r--r--keyboards/handwired/minorca/keymaps/default/rules.mk21
-rw-r--r--keyboards/handwired/minorca/keymaps/readme.md23
-rw-r--r--keyboards/handwired/minorca/keymaps/rgb/config.h20
-rw-r--r--keyboards/handwired/minorca/keymaps/rgb/keymap.c44
-rw-r--r--keyboards/handwired/minorca/keymaps/rgb/readme.md25
-rw-r--r--keyboards/handwired/minorca/keymaps/rgb/rules.mk21
-rw-r--r--keyboards/handwired/minorca/minorca.c6
-rw-r--r--keyboards/handwired/minorca/minorca.h18
-rw-r--r--keyboards/handwired/minorca/readme.md13
-rw-r--r--keyboards/handwired/minorca/rules.mk67
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/babblePaste.c460
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/babblePaste.h238
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/babblePaste.txt123
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/config.h90
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/info.json96
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/default/config.h3
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c44
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk17
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/config.h28
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/keymap.c266
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/readme.md1
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk17
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.c1
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.h48
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/readme.md55
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/rules.mk56
-rw-r--r--keyboards/handwired/nicekey/config.h68
-rw-r--r--keyboards/handwired/nicekey/keymaps/default/keymap.c75
-rw-r--r--keyboards/handwired/nicekey/nicekey.c1
-rw-r--r--keyboards/handwired/nicekey/nicekey.h12
-rw-r--r--keyboards/handwired/nicekey/readme.md18
-rw-r--r--keyboards/handwired/nicekey/rules.mk61
-rw-r--r--keyboards/handwired/not_so_minidox/config.h77
-rw-r--r--keyboards/handwired/not_so_minidox/i2c.c162
-rw-r--r--keyboards/handwired/not_so_minidox/i2c.h49
-rw-r--r--keyboards/handwired/not_so_minidox/info.json63
-rw-r--r--keyboards/handwired/not_so_minidox/keymaps/default/keymap.c117
-rw-r--r--keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h10
-rw-r--r--keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c56
-rw-r--r--keyboards/handwired/not_so_minidox/keymaps/mtdjr/rules.mk1
-rw-r--r--keyboards/handwired/not_so_minidox/matrix.c307
-rw-r--r--keyboards/handwired/not_so_minidox/not_so_minidox.c1
-rw-r--r--keyboards/handwired/not_so_minidox/not_so_minidox.h42
-rw-r--r--keyboards/handwired/not_so_minidox/readme.md71
-rw-r--r--keyboards/handwired/not_so_minidox/rules.mk71
-rw-r--r--keyboards/handwired/not_so_minidox/serial.c228
-rw-r--r--keyboards/handwired/not_so_minidox/serial.h26
-rw-r--r--keyboards/handwired/not_so_minidox/split_util.c84
-rw-r--r--keyboards/handwired/not_so_minidox/split_util.h20
-rw-r--r--keyboards/handwired/numbrero/config.h46
-rw-r--r--keyboards/handwired/numbrero/info.json62
-rw-r--r--keyboards/handwired/numbrero/keymaps/default/keymap.c30
-rw-r--r--keyboards/handwired/numbrero/license201
-rw-r--r--keyboards/handwired/numbrero/numbrero.c1
-rw-r--r--keyboards/handwired/numbrero/numbrero.h30
-rw-r--r--keyboards/handwired/numbrero/readme.md13
-rw-r--r--keyboards/handwired/numbrero/rules.mk59
-rw-r--r--keyboards/handwired/numpad20/config.h156
-rw-r--r--keyboards/handwired/numpad20/info.json33
-rw-r--r--keyboards/handwired/numpad20/keymaps/default/keymap.c11
-rw-r--r--keyboards/handwired/numpad20/numpad20.c8
-rw-r--r--keyboards/handwired/numpad20/numpad20.h20
-rw-r--r--keyboards/handwired/numpad20/readme.md13
-rw-r--r--keyboards/handwired/numpad20/rules.mk67
-rw-r--r--keyboards/handwired/onekey/config.h68
-rw-r--r--keyboards/handwired/onekey/keymaps/default/keymap.c5
-rw-r--r--keyboards/handwired/onekey/onekey.c1
-rw-r--r--keyboards/handwired/onekey/onekey.h12
-rw-r--r--keyboards/handwired/onekey/readme.md15
-rw-r--r--keyboards/handwired/onekey/rules.mk61
-rw-r--r--keyboards/handwired/ortho5x13/config.h156
-rw-r--r--keyboards/handwired/ortho5x13/info.json77
-rw-r--r--keyboards/handwired/ortho5x13/keymaps/default/keymap.c280
-rw-r--r--keyboards/handwired/ortho5x13/ortho5x13.c8
-rw-r--r--keyboards/handwired/ortho5x13/ortho5x13.h33
-rw-r--r--keyboards/handwired/ortho5x13/readme.md13
-rw-r--r--keyboards/handwired/ortho5x13/rules.mk67
-rw-r--r--keyboards/handwired/pilcrow/config.h156
-rw-r--r--keyboards/handwired/pilcrow/info.json53
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/config.h3
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/keymap.c70
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/pilcrow/keymaps/default/rules.mk17
-rw-r--r--keyboards/handwired/pilcrow/pilcrow.c28
-rw-r--r--keyboards/handwired/pilcrow/pilcrow.h23
-rw-r--r--keyboards/handwired/pilcrow/readme.md14
-rw-r--r--keyboards/handwired/pilcrow/rules.mk67
-rw-r--r--keyboards/handwired/prime_exl/config.h71
-rw-r--r--keyboards/handwired/prime_exl/info.json12
-rw-r--r--keyboards/handwired/prime_exl/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/prime_exl/keymaps/default/keymap.c143
-rw-r--r--keyboards/handwired/prime_exl/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/prime_exl/keymaps/via/keymap.c101
-rw-r--r--keyboards/handwired/prime_exl/keymaps/via/readme.md1
-rw-r--r--keyboards/handwired/prime_exl/keymaps/via/rules.mk86
-rw-r--r--keyboards/handwired/prime_exl/prime_exl.c44
-rw-r--r--keyboards/handwired/prime_exl/prime_exl.h40
-rw-r--r--keyboards/handwired/prime_exl/readme.md15
-rw-r--r--keyboards/handwired/prime_exl/rules.mk80
-rw-r--r--keyboards/handwired/promethium/color.h15
-rw-r--r--keyboards/handwired/promethium/config.h331
-rw-r--r--keyboards/handwired/promethium/info.json68
-rw-r--r--keyboards/handwired/promethium/keymaps/default/README.md44
-rw-r--r--keyboards/handwired/promethium/keymaps/default/config.h22
-rw-r--r--keyboards/handwired/promethium/keymaps/default/flash.sh4
-rw-r--r--keyboards/handwired/promethium/keymaps/default/keymap.c1364
-rw-r--r--keyboards/handwired/promethium/keymaps/default/rgbtheme.h1
-rw-r--r--keyboards/handwired/promethium/keymaps/default/rgbtheme_carbon.h36
-rw-r--r--keyboards/handwired/promethium/keymaps/default/rgbtheme_default.h36
-rw-r--r--keyboards/handwired/promethium/keymaps/default/rules.mk26
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/README.md44
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/config.h22
-rwxr-xr-xkeyboards/handwired/promethium/keymaps/priyadi/flash.sh4
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/keymap.c1364
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/rgbtheme.h1
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_carbon.h36
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_default.h36
-rw-r--r--keyboards/handwired/promethium/keymaps/priyadi/rules.mk26
-rw-r--r--keyboards/handwired/promethium/keymaps/readme.md22
-rw-r--r--keyboards/handwired/promethium/matrix.c297
-rw-r--r--keyboards/handwired/promethium/promethium.c47
-rw-r--r--keyboards/handwired/promethium/promethium.h29
-rw-r--r--keyboards/handwired/promethium/readme.md13
-rw-r--r--keyboards/handwired/promethium/rgbsps.c73
-rw-r--r--keyboards/handwired/promethium/rgbsps.h5
-rw-r--r--keyboards/handwired/promethium/rules.mk78
-rw-r--r--keyboards/handwired/pteron/config.h29
-rw-r--r--keyboards/handwired/pteron/info.json78
-rw-r--r--keyboards/handwired/pteron/keymaps/FSund/keymap.c116
-rw-r--r--keyboards/handwired/pteron/keymaps/default/keymap.c104
-rw-r--r--keyboards/handwired/pteron/pteron.c1
-rw-r--r--keyboards/handwired/pteron/pteron.h17
-rw-r--r--keyboards/handwired/pteron/readme.md15
-rw-r--r--keyboards/handwired/pteron/rules.mk58
-rw-r--r--keyboards/handwired/qc60/README.md21
-rw-r--r--keyboards/handwired/qc60/config.h22
-rw-r--r--keyboards/handwired/qc60/info.json639
-rw-r--r--keyboards/handwired/qc60/keymaps/default/config.h5
-rw-r--r--keyboards/handwired/qc60/keymaps/default/keymap.c36
-rw-r--r--keyboards/handwired/qc60/keymaps/wntrmln/config.h5
-rw-r--r--keyboards/handwired/qc60/keymaps/wntrmln/keymap.c47
-rw-r--r--keyboards/handwired/qc60/proto/config.h12
-rw-r--r--keyboards/handwired/qc60/proto/proto.c21
-rw-r--r--keyboards/handwired/qc60/proto/proto.h197
-rw-r--r--keyboards/handwired/qc60/proto/rules.mk1
-rw-r--r--keyboards/handwired/qc60/qc60.c1
-rw-r--r--keyboards/handwired/qc60/qc60.h26
-rw-r--r--keyboards/handwired/qc60/rules.mk68
-rwxr-xr-xkeyboards/handwired/reddot/config.h154
-rw-r--r--keyboards/handwired/reddot/info.json108
-rw-r--r--keyboards/handwired/reddot/keymaps/default/keymap.c22
-rwxr-xr-xkeyboards/handwired/reddot/keymaps/default/readme.md1
-rwxr-xr-xkeyboards/handwired/reddot/readme.md14
-rwxr-xr-xkeyboards/handwired/reddot/reddot.c7
-rwxr-xr-xkeyboards/handwired/reddot/reddot.h17
-rwxr-xr-xkeyboards/handwired/reddot/rules.mk79
-rw-r--r--keyboards/handwired/retro_refit/config.h117
-rw-r--r--keyboards/handwired/retro_refit/info.json95
-rw-r--r--keyboards/handwired/retro_refit/keymaps/default/keymap.c12
-rw-r--r--keyboards/handwired/retro_refit/readme.md42
-rw-r--r--keyboards/handwired/retro_refit/retro_refit.c47
-rw-r--r--keyboards/handwired/retro_refit/retro_refit.h35
-rw-r--r--keyboards/handwired/retro_refit/rules.mk68
-rw-r--r--keyboards/handwired/rs60/README.md27
-rw-r--r--keyboards/handwired/rs60/config.h47
-rw-r--r--keyboards/handwired/rs60/keymaps/default/keymap.c207
-rw-r--r--keyboards/handwired/rs60/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/rs60/rs60.c18
-rw-r--r--keyboards/handwired/rs60/rs60.h36
-rw-r--r--keyboards/handwired/rs60/rules.mk61
-rw-r--r--keyboards/handwired/space_oddity/config.h52
-rw-r--r--keyboards/handwired/space_oddity/info.json78
-rw-r--r--keyboards/handwired/space_oddity/keymaps/default/keymap.c231
-rw-r--r--keyboards/handwired/space_oddity/readme.md34
-rw-r--r--keyboards/handwired/space_oddity/rules.mk58
-rw-r--r--keyboards/handwired/space_oddity/space_oddity.c1
-rw-r--r--keyboards/handwired/space_oddity/space_oddity.h19
-rw-r--r--keyboards/handwired/splittest/config.h75
-rw-r--r--keyboards/handwired/splittest/keymaps/default/config.h23
-rw-r--r--keyboards/handwired/splittest/keymaps/default/keymap.c5
-rw-r--r--keyboards/handwired/splittest/readme.md26
-rw-r--r--keyboards/handwired/splittest/rules.mk65
-rw-r--r--keyboards/handwired/splittest/splittest.c1
-rw-r--r--keyboards/handwired/splittest/splittest.h5
-rw-r--r--keyboards/handwired/terminus_mini/config.h185
-rw-r--r--keyboards/handwired/terminus_mini/info.json59
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/config.h21
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/keymap.c281
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/readme.md160
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/rules.mk34
-rw-r--r--keyboards/handwired/terminus_mini/readme.md12
-rw-r--r--keyboards/handwired/terminus_mini/rules.mk69
-rw-r--r--keyboards/handwired/terminus_mini/terminus_mini.c43
-rw-r--r--keyboards/handwired/terminus_mini/terminus_mini.h40
-rw-r--r--keyboards/handwired/trackpoint/config.h67
-rw-r--r--keyboards/handwired/trackpoint/keymaps/default/keymap.c7
-rw-r--r--keyboards/handwired/trackpoint/readme.md19
-rw-r--r--keyboards/handwired/trackpoint/rules.mk22
-rw-r--r--keyboards/handwired/trackpoint/trackpoint.c5
-rw-r--r--keyboards/handwired/trackpoint/trackpoint.h10
-rw-r--r--keyboards/handwired/tradestation/config.h46
-rw-r--r--keyboards/handwired/tradestation/info.json15
-rw-r--r--keyboards/handwired/tradestation/keymaps/default/keymap.c61
-rw-r--r--keyboards/handwired/tradestation/license201
-rw-r--r--keyboards/handwired/tradestation/readme.md27
-rw-r--r--keyboards/handwired/tradestation/rules.mk66
-rw-r--r--keyboards/handwired/tradestation/tradestation.c1
-rw-r--r--keyboards/handwired/tradestation/tradestation.h27
-rw-r--r--keyboards/handwired/traveller/config.h166
-rw-r--r--keyboards/handwired/traveller/keymaps/default/keymap.c272
-rw-r--r--keyboards/handwired/traveller/keymaps/default/readme.md2
-rw-r--r--keyboards/handwired/traveller/readme.md35
-rw-r--r--keyboards/handwired/traveller/rules.mk90
-rw-r--r--keyboards/handwired/traveller/traveller.c61
-rw-r--r--keyboards/handwired/traveller/traveller.h32
-rw-r--r--keyboards/handwired/woodpad/config.h179
-rw-r--r--keyboards/handwired/woodpad/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/woodpad/keymaps/default/keymap.c127
-rw-r--r--keyboards/handwired/woodpad/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/woodpad/keymaps/default/rules.mk34
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/README.md25
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/config.h45
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/keymap.c95
-rw-r--r--keyboards/handwired/woodpad/keymaps/drashna/rules.mk10
-rw-r--r--keyboards/handwired/woodpad/readme.md28
-rw-r--r--keyboards/handwired/woodpad/rules.mk78
-rw-r--r--keyboards/handwired/woodpad/woodpad.c43
-rw-r--r--keyboards/handwired/woodpad/woodpad.h40
-rw-r--r--keyboards/handwired/xealous/config.h51
-rw-r--r--keyboards/handwired/xealous/debounce.c63
-rw-r--r--keyboards/handwired/xealous/info.json91
-rw-r--r--keyboards/handwired/xealous/keymaps/default/keymap.c102
-rw-r--r--keyboards/handwired/xealous/matrix.c376
-rw-r--r--keyboards/handwired/xealous/matrix_scanrate.c39
-rw-r--r--keyboards/handwired/xealous/matrix_scanrate.h4
-rw-r--r--keyboards/handwired/xealous/readme.md166
-rw-r--r--keyboards/handwired/xealous/rev1/config.h85
-rw-r--r--keyboards/handwired/xealous/rev1/rev1.c6
-rw-r--r--keyboards/handwired/xealous/rev1/rev1.h32
-rw-r--r--keyboards/handwired/xealous/rev1/rules.mk0
-rw-r--r--keyboards/handwired/xealous/rules.mk75
-rw-r--r--keyboards/handwired/xealousbrown/README.md11
-rw-r--r--keyboards/handwired/xealousbrown/config.h48
-rw-r--r--keyboards/handwired/xealousbrown/info.json74
-rw-r--r--keyboards/handwired/xealousbrown/keymaps/default/keymap.c18
-rw-r--r--keyboards/handwired/xealousbrown/rules.mk60
-rw-r--r--keyboards/handwired/xealousbrown/xealousbrown.c8
-rw-r--r--keyboards/handwired/xealousbrown/xealousbrown.h20
541 files changed, 0 insertions, 39226 deletions
diff --git a/keyboards/handwired/108key_trackpoint/108key_trackpoint.c b/keyboards/handwired/108key_trackpoint/108key_trackpoint.c
deleted file mode 100644
index 3834f89613..0000000000
--- a/keyboards/handwired/108key_trackpoint/108key_trackpoint.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "108key_trackpoint.h"
diff --git a/keyboards/handwired/108key_trackpoint/108key_trackpoint.h b/keyboards/handwired/108key_trackpoint/108key_trackpoint.h
deleted file mode 100644
index 100f4cb932..0000000000
--- a/keyboards/handwired/108key_trackpoint/108key_trackpoint.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K000, K002, K003, K004, K005, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K019, K020, K021, K022, \
- \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K219, K220, K221, K222, \
- K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K319, K320, K321, \
- K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K419, K420, K421, K422, \
- K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K516, K519, K520, K521, \
- K600, K601, K603, K606, K610, K611, K613, K614, K615, K616, K617, K619, K621, K622, \
- K705, K706, K707 \
-) { \
- { K000, KC_NO, K002, K003, K004, K005, KC_NO, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, KC_NO, K019, K020, K021, K022 }, \
- { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, KC_NO, K219, K220, K221, K222 }, \
- { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, KC_NO, K319, K320, K321, KC_NO }, \
- { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K419, K420, K421, K422 }, \
- { KC_NO, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, KC_NO, KC_NO, K516, KC_NO, KC_NO, K519, K520, K521, KC_NO }, \
- { K600, K601, KC_NO, K603, KC_NO, KC_NO, K606, KC_NO, KC_NO, KC_NO, K610, K611, KC_NO, K613, K614, K615, K616, K617, KC_NO, K619, KC_NO, K621, K622 }, \
- { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K705, K706, K707, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
-}
diff --git a/keyboards/handwired/108key_trackpoint/config.h b/keyboards/handwired/108key_trackpoint/config.h
deleted file mode 100644
index a773a72b1a..0000000000
--- a/keyboards/handwired/108key_trackpoint/config.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-#define VENDOR_ID 0x1234
-#define PRODUCT_ID 0x5678
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT 108Key-Trackpoint
-#define DESCRIPTION A 108 key ANSI keyboard with a trackpoint and three mouse buttons
-
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 23
-
-#ifdef PS2_USE_USART
- #define PS2_CLOCK_PORT PORTD
- #define PS2_CLOCK_PIN PIND
- #define PS2_CLOCK_DDR DDRD
- #define PS2_CLOCK_BIT 5
- #define PS2_DATA_PORT PORTD
- #define PS2_DATA_PIN PIND
- #define PS2_DATA_DDR DDRD
- #define PS2_DATA_BIT 2
-
- /* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
- /* set DDR of CLOCK as input to be slave */
- #define PS2_USART_INIT() do { \
- PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
- PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
- UCSR1C = ((1 << UMSEL10) | \
- (3 << UPM10) | \
- (0 << USBS1) | \
- (3 << UCSZ10) | \
- (0 << UCPOL1)); \
- UCSR1A = 0; \
- UBRR1H = 0; \
- UBRR1L = 0; \
- } while (0)
- #define PS2_USART_RX_INT_ON() do { \
- UCSR1B = ((1 << RXCIE1) | \
- (1 << RXEN1)); \
- } while (0)
- #define PS2_USART_RX_POLL_ON() do { \
- UCSR1B = (1 << RXEN1); \
- } while (0)
- #define PS2_USART_OFF() do { \
- UCSR1C = 0; \
- UCSR1B &= ~((1 << RXEN1) | \
- (1 << TXEN1)); \
- } while (0)
- #define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
- #define PS2_USART_RX_DATA UDR1
- #define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
- #define PS2_USART_RX_VECT USART1_RX_vect
-#endif
-
-#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
-#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, F0, D3, D4, F1, D6, D7, E0, E1, E2, E3, E4, E5, E6 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-#define DEBOUNCING_DELAY 5
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/handwired/108key_trackpoint/info.json b/keyboards/handwired/108key_trackpoint/info.json
deleted file mode 100644
index bd221892b3..0000000000
--- a/keyboards/handwired/108key_trackpoint/info.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "keyboard_name": "108 Key with TrackPoint",
- "url": "",
- "maintainer": "mkem114",
- "width": 22.5,
- "height": 7.5,
- "layouts": {
- "LAYOUT": {
- "key_count": 111,
- "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":"Mute", "x":18.5, "y":0},
- {"label":"Previous", "x":19.5, "y":0},
- {"label":"Next", "x":20.5, "y":0},
- {"label":"Play", "x":21.5, "y":0},
- {"label":"`", "x":0, "y":1.5},
- {"label":"1", "x":1, "y":1.5},
- {"label":"2", "x":2, "y":1.5},
- {"label":"3", "x":3, "y":1.5},
- {"label":"4", "x":4, "y":1.5},
- {"label":"5", "x":5, "y":1.5},
- {"label":"6", "x":6, "y":1.5},
- {"label":"7", "x":7, "y":1.5},
- {"label":"8", "x":8, "y":1.5},
- {"label":"9", "x":9, "y":1.5},
- {"label":"0", "x":10, "y":1.5},
- {"label":"-", "x":11, "y":1.5},
- {"label":"=", "x":12, "y":1.5},
- {"label":"Backspace", "x":13, "y":1.5, "w":2},
- {"label":"Insert", "x":15.25, "y":1.5},
- {"label":"Home", "x":16.25, "y":1.5},
- {"label":"Page Up", "x":17.25, "y":1.5},
- {"label":"Num Lock", "x":18.5, "y":1.5},
- {"label":"/", "x":19.5, "y":1.5},
- {"label":"*", "x":20.5, "y":1.5},
- {"label":"-", "x":21.5, "y":1.5},
- {"label":"Tab", "x":0, "y":2.5, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.5},
- {"label":"W", "x":2.5, "y":2.5},
- {"label":"E", "x":3.5, "y":2.5},
- {"label":"R", "x":4.5, "y":2.5},
- {"label":"T", "x":5.5, "y":2.5},
- {"label":"Y", "x":6.5, "y":2.5},
- {"label":"U", "x":7.5, "y":2.5},
- {"label":"I", "x":8.5, "y":2.5},
- {"label":"O", "x":9.5, "y":2.5},
- {"label":"P", "x":10.5, "y":2.5},
- {"label":"[", "x":11.5, "y":2.5},
- {"label":"]", "x":12.5, "y":2.5},
- {"label":"\\", "x":13.5, "y":2.5, "w":1.5},
- {"label":"Delete", "x":15.25, "y":2.5},
- {"label":"End", "x":16.25, "y":2.5},
- {"label":"Page Down", "x":17.25, "y":2.5},
- {"label":"7", "x":18.5, "y":2.5},
- {"label":"8", "x":19.5, "y":2.5},
- {"label":"9", "x":20.5, "y":2.5},
- {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
- {"label":"A", "x":1.75, "y":3.5},
- {"label":"S", "x":2.75, "y":3.5},
- {"label":"D", "x":3.75, "y":3.5},
- {"label":"F", "x":4.75, "y":3.5},
- {"label":"G", "x":5.75, "y":3.5},
- {"label":"H", "x":6.75, "y":3.5},
- {"label":"J", "x":7.75, "y":3.5},
- {"label":"K", "x":8.75, "y":3.5},
- {"label":"L", "x":9.75, "y":3.5},
- {"label":";", "x":10.75, "y":3.5},
- {"label":"'", "x":11.75, "y":3.5},
- {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
- {"label":"4", "x":18.5, "y":3.5},
- {"label":"5", "x":19.5, "y":3.5},
- {"label":"6", "x":20.5, "y":3.5},
- {"label":"+", "x":21.5, "y":2.5, "h":2},
- {"label":"Shift", "x":0, "y":4.5, "w":2.25},
- {"label":"Z", "x":2.25, "y":4.5},
- {"label":"X", "x":3.25, "y":4.5},
- {"label":"C", "x":4.25, "y":4.5},
- {"label":"V", "x":5.25, "y":4.5},
- {"label":"B", "x":6.25, "y":4.5},
- {"label":"N", "x":7.25, "y":4.5},
- {"label":"M", "x":8.25, "y":4.5},
- {"label":",", "x":9.25, "y":4.5},
- {"label":".", "x":10.25, "y":4.5},
- {"label":"/", "x":11.25, "y":4.5},
- {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
- {"label":"Up", "x":16.25, "y":4.5},
- {"label":"1", "x":18.5, "y":4.5},
- {"label":"2", "x":19.5, "y":4.5},
- {"label":"3", "x":20.5, "y":4.5},
- {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
- {"label":"LGUI", "x":1.25, "y":5.5, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5.5, "w":1.25},
- {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
- {"label":"Alt", "x":10, "y":5.5, "w":1.25},
- {"label":"RGUI", "x":11.25, "y":5.5, "w":1.25},
- {"label":"Menu", "x":12.5, "y":5.5, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25},
- {"label":"Left", "x":15.25, "y":5.5},
- {"label":"Down", "x":16.25, "y":5.5},
- {"label":"Right", "x":17.25, "y":5.5},
- {"label":"0", "x":18.5, "y":5.5, "w":2},
- {"label":".", "x":20.5, "y":5.5},
- {"label":"Enter", "x":21.5, "y":4.5, "h":2},
- {"label":"Mouse1", "x":5.25, "y":6.5},
- {"label":"Mouse3", "x":6.25, "y":6.5},
- {"label":"Mouse2", "x":7.25, "y":6.5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c
deleted file mode 100644
index 3345aca169..0000000000
--- a/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT (
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT,
- KC_BTN1, KC_BTN3, KC_BTN2
- )
-};
diff --git a/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c
deleted file mode 100644
index 0181ad9f77..0000000000
--- a/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT (
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9,
- KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT,
- KC_BTN1, KC_BTN3, KC_BTN2
- )
-};
diff --git a/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c
deleted file mode 100644
index d6223c496e..0000000000
--- a/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT (
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9,
- KC_MPLY, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT,
- KC_BTN1, KC_BTN3, KC_BTN2
- )
-};
diff --git a/keyboards/handwired/108key_trackpoint/readme.md b/keyboards/handwired/108key_trackpoint/readme.md
deleted file mode 100644
index 468fdf94dc..0000000000
--- a/keyboards/handwired/108key_trackpoint/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# 108 Key with TrackPoint
-
-![wiring](https://raw.githubusercontent.com/qmk/qmk.fm/gh-pages/keyboards/handwired/108key_trackpoint/wiring.JPG)
-
-This is based off the handwired/trackpoint keyboard and generated code from [Keyboard Firmware Builder](https://kbfirmware.com/).
-
-Keyboard Maintainer: [mkem114](https://github.com/mkem114)
-Hardware Supported (tested): Teensy++ 2.0
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/108key_trackpoint:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-You may have to modify the source code to suit 104 keys, RGB back-lights, different micro-controllers, or big ass enter.
-
-There are three keymaps:
-* qwerty with the four extra keys being: mute, media prev, media next, and media play
-* dvorak with the four extra keys being: mute, media prev, media next, and media play
-* dvorak_media with the caps lock being media play and the four extra keys being: mute, volume down, volume up, and media next
-
-To figure out how to wire your specific TrackPoint have a look out: [How to integrate a trackpoint in a mechanical keyboard](https://github.com/alonswartz/trackpoint).
diff --git a/keyboards/handwired/108key_trackpoint/rules.mk b/keyboards/handwired/108key_trackpoint/rules.mk
deleted file mode 100644
index 84ec52eee9..0000000000
--- a/keyboards/handwired/108key_trackpoint/rules.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-# MCU name
-MCU = at90usb1286
-#MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = halfkay
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
-PS2_MOUSE_ENABLE = yes
-PS2_USE_USART = yes
diff --git a/keyboards/handwired/412_64/412_64.c b/keyboards/handwired/412_64/412_64.c
deleted file mode 100644
index eaec54ade8..0000000000
--- a/keyboards/handwired/412_64/412_64.c
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#include "412_64.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
diff --git a/keyboards/handwired/412_64/412_64.h b/keyboards/handwired/412_64/412_64.h
deleted file mode 100644
index 27a32f15aa..0000000000
--- a/keyboards/handwired/412_64/412_64.h
+++ /dev/null
@@ -1,29 +0,0 @@
-
-#ifndef FOURx16_H
-#define FOURx16_H
-
-#include "quantum.h"
-#define ___ KC_NO
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguments
-// The second converts the arguments into a two-dimensional array
-
-#define LAYOUT_ortho_4x16( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, \
- K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K31, \
- K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, \
- K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, K62, K63 \
-) \
-{ \
- { K00, K02, K04, K06, K08, K10, K12, K14 }, \
- { K01, K03, K05, K07, K09, K11, K13, K15 }, \
- { K16, K18, K20, K22, K24, K26, K28, K30 }, \
- { K17, K19, K21, K23, K25, K27, K29, K31 }, \
- { K32, K34, K36, K38, K40, K42, K44, K46 }, \
- { K33, K35, K37, K39, K41, K43, K45, K47 }, \
- { K48, K50, K52, K54, K56, K58, K60, K62 }, \
- { K49, K51, K53, K55, K57, K59, K61, K63 } \
-}
-
-#endif
diff --git a/keyboards/handwired/412_64/config.h b/keyboards/handwired/412_64/config.h
deleted file mode 100644
index 9cdb3fac81..0000000000
--- a/keyboards/handwired/412_64/config.h
+++ /dev/null
@@ -1,194 +0,0 @@
-
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xF7E0
-#define PRODUCT_ID 0x0412
-#define DEVICE_VER 0x0000
-#define MANUFACTURER EDI/SCI
-#define PRODUCT 412 64 Model 00
-#define DESCRIPTION A compact 60% keyboard inspired by the 4x4x4x4x4
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#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 { D3, F4, F5, F6, F7, B1, B3, B2 }
-#define MATRIX_COL_PINS { B0, D2, D0, D1, D4, C6, D7, E6 }
-#define UNUSED_PINS { B4, B5, B6, B7, C7, F0, F1 }
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN C7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-/*
- * HD44780 LCD Display Configuration
- */
-/*
-#define LCD_LINES 2 //< number of visible lines of the display
-#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
-
-#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
-
-#if LCD_IO_MODE
-#define LCD_PORT PORTB //< port for the LCD lines
-#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
-#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
-#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
-#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
-#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
-#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
-#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
-#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
-#define LCD_RS_PORT LCD_PORT //< port for RS line
-#define LCD_RS_PIN 3 //< pin for RS line
-#define LCD_RW_PORT LCD_PORT //< port for RW line
-#define LCD_RW_PIN 2 //< pin for RW line
-#define LCD_E_PORT LCD_PORT //< port for Enable line
-#define LCD_E_PIN 1 //< pin for Enable line
-#endif
-*/
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/keymaps/default/keymap.c b/keyboards/handwired/412_64/keymaps/default/keymap.c
deleted file mode 100644
index 405c563056..0000000000
--- a/keyboards/handwired/412_64/keymaps/default/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#include QMK_KEYBOARD_H
-
-#define _MAIN 0
-#define _RAISE 1
-#define _LOWER 2
-
-// Readability keycodes
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
-/* MAIN
- * .-----------------------------------------------------------------------------------------------------------------------------------------------.
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | Backsp | Delete | 7 | 8 | 9 |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | ESC | A | S | D | F | G | H | J | K | L | ; | ' | PgUp | 4 | 5 | 6 |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | SHIFT | Z | X | C | V | B | N | M | , | . | / | ENTER | PgDn | 1 | 2 | 3 |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | LCTRL | PAUS | GUI | ALT | Lower | Space | Space | Raise | Left | Down | Up | Right | Shift | 0 | . | ENTER |
- * '-----------------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_MAIN] = LAYOUT_ortho_4x16(
- 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_DEL, KC_KP_7, KC_KP_8, KC_KP_9,
- 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_PGUP, KC_KP_4, KC_KP_5, KC_KP_6,
- 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_PGDN, KC_KP_1, KC_KP_2, KC_KP_3,
- KC_LCTL, KC_PAUS, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RSFT, KC_KP_0, KC_KP_DOT, KC_PENT
- ),
-
-/* RAISE
- * .-----------------------------------------------------------------------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | Insert | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | - | = | [ | ] | \ | Home | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | ISO # | ISO / | | | PScr | End | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | Next | Vol- | Vol+ | Play | | | | |
- * '-----------------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_RAISE] = LAYOUT_ortho_4x16(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_INS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_NUHS, KC_NUBS, _______, _______, KC_PSCR, KC_END, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______
- ),
-
-/* LOWER
- * .-----------------------------------------------------------------------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | | Reset |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | ISO ~ | ISO | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | Mute | | | | |
- * '-----------------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_LOWER] = LAYOUT_ortho_4x16(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, RESET,
- _______, 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_MUTE, _______, _______, _______, _______
- ),
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- keyevent_t event = record->event;
- (void)event;
-
- switch (id) {
-
- }
- return MACRO_NONE;
-}
-
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/412_64/keymaps/default/rules.mk b/keyboards/handwired/412_64/keymaps/default/rules.mk
deleted file mode 100644
index 08fdcc0a56..0000000000
--- a/keyboards/handwired/412_64/keymaps/default/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-KEY_LOCK_ENABLE = yes # Enable the universal locking key, which lets you do any locking you require. \ No newline at end of file
diff --git a/keyboards/handwired/412_64/readme.md b/keyboards/handwired/412_64/readme.md
deleted file mode 100644
index 042bacfaf1..0000000000
--- a/keyboards/handwired/412_64/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# 412-64
-
-![412-64](https://i.imgur.com/ixuv3OM.jpg)
-
-A compact 60% keyboard designed by Fate Everywhere and sold on a limited basis. Born out of the desire for a Planck with a numpad for technical work.
-
-Keyboard Maintainer: [Fate Everywhere](https://github.com/fateeverywhere)
-Hardware Supported: 4x16 T&E Prototype, Mark Zero Stand Aside.
-Hardware Availability: No longer available, was a tester for Stand Aside. Build definitions are in handwired because two units are in the wild.
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/412_64:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/handwired/412_64/rules.mk b/keyboards/handwired/412_64/rules.mk
deleted file mode 100644
index 9e74da5d98..0000000000
--- a/keyboards/handwired/412_64/rules.mk
+++ /dev/null
@@ -1,73 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = atmel-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
-
-LAYOUTS = ortho_4x16
diff --git a/keyboards/handwired/arrow_pad/arrow_pad.c b/keyboards/handwired/arrow_pad/arrow_pad.c
deleted file mode 100644
index 381934aa88..0000000000
--- a/keyboards/handwired/arrow_pad/arrow_pad.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "arrow_pad.h" \ No newline at end of file
diff --git a/keyboards/handwired/arrow_pad/arrow_pad.h b/keyboards/handwired/arrow_pad/arrow_pad.h
deleted file mode 100644
index b93fd113f2..0000000000
--- a/keyboards/handwired/arrow_pad/arrow_pad.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef ARROW_PAD_H
-#define ARROW_PAD_H
-
-#include "quantum.h"
-#include "matrix.h"
-#include "keymap.h"
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-#include <avr/io.h>
-#include <stddef.h>
-
-// This is the 21-key keypad to 4x6 element matrix mapping
-#define LAYOUT( \
- KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
- KM_NUM, KM_FSL, KM_AST, KM_MIN, \
- KM___7, KM___8, KM___9, KM_EQU, \
- KM___4, KM___5, KM___6, KM_PLS, \
- KM___1, KM___2, KM___3, ___ENT, \
- KM___0, _____0, KM_DOT, KM_ENT \
-) { \
- { KM_ESC, KM_TAB, KM_BSL, KM_ARR }, \
- { KM_NUM, KM_FSL, KM_AST, KM_MIN }, \
- { KM___7, KM___8, KM___9, KM_EQU }, \
- { KM___4, KM___5, KM___6, KM_PLS }, \
- { KM___1, KM___2, KM___3, KC_NO }, \
- { KM___0, KC_NO, KM_DOT, KM_ENT } \
-}
-
-// This is the 21-key keypad to 2x11 element matrix mapping
-#define LAYOUT_pad21( \
- KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
- KM_NUM, KM_FSL, KM_AST, KM_MIN, \
- KM___7, KM___8, KM___9, \
- KM___4, KM___5, KM___6, KM_PLS, \
- KM___1, KM___2, KM___3, \
- KM___0, KM_DOT, KM_ENT \
-) { \
- { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \
- { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO, KM___0, KM_DOT, }, \
-}
-
-#endif
diff --git a/keyboards/handwired/arrow_pad/config.h b/keyboards/handwired/arrow_pad/config.h
deleted file mode 100644
index 1ae3d21c44..0000000000
--- a/keyboards/handwired/arrow_pad/config.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4096
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT GoldPad
-#define DESCRIPTION A custom keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
-#define MATRIX_COL_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS
-
-#define BACKLIGHT_PIN B7
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/arrow_pad/info.json b/keyboards/handwired/arrow_pad/info.json
deleted file mode 100644
index ad15e8e740..0000000000
--- a/keyboards/handwired/arrow_pad/info.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "keyboard_name": "arrow_pad",
- "url": "",
- "maintainer": "qmk",
- "width": 4,
- "height": 6,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"KM_ESC", "x":0, "y":0},
- {"label":"KM_TAB", "x":1, "y":0},
- {"label":"KM_BSL", "x":2, "y":0},
- {"label":"KM_ARR", "x":3, "y":0},
- {"label":"KM_NUM", "x":0, "y":1},
- {"label":"KM_FSL", "x":1, "y":1},
- {"label":"KM_AST", "x":2, "y":1},
- {"label":"KM_MIN", "x":3, "y":1},
- {"label":"KM___7", "x":0, "y":2},
- {"label":"KM___8", "x":1, "y":2},
- {"label":"KM___9", "x":2, "y":2},
- {"label":"KM_EQU", "x":3, "y":2},
- {"label":"KM___4", "x":0, "y":3},
- {"label":"KM___5", "x":1, "y":3},
- {"label":"KM___6", "x":2, "y":3},
- {"label":"KM_PLS", "x":3, "y":3},
- {"label":"KM___1", "x":0, "y":4},
- {"label":"KM___2", "x":1, "y":4},
- {"label":"KM___3", "x":2, "y":4},
- {"label":"___ENT", "x":3, "y":4},
- {"label":"KM___0", "x":0, "y":5},
- {"label":"_____0", "x":1, "y":5},
- {"label":"KM_DOT", "x":2, "y":5},
- {"label":"KM_ENT", "x":3, "y":5}
- ]
- },
- "LAYOUT_pad21": {
- "layout": [
- {"label":"KM_ESC", "x":0, "y":0},
- {"label":"KM_TAB", "x":1, "y":0},
- {"label":"KM_BSL", "x":2, "y":0},
- {"label":"KM_ARR", "x":3, "y":0},
- {"label":"KM_NUM", "x":0, "y":1},
- {"label":"KM_FSL", "x":1, "y":1},
- {"label":"KM_AST", "x":2, "y":1},
- {"label":"KM_MIN", "x":3, "y":1},
- {"label":"KM___7", "x":0, "y":2},
- {"label":"KM___8", "x":1, "y":2},
- {"label":"KM___9", "x":2, "y":2},
- {"label":"KM___4", "x":0, "y":3},
- {"label":"KM___5", "x":1, "y":3},
- {"label":"KM___6", "x":2, "y":3},
- {"label":"KM_PLS", "x":3, "y":2, "h":2},
- {"label":"KM___1", "x":0, "y":4},
- {"label":"KM___2", "x":1, "y":4},
- {"label":"KM___3", "x":2, "y":4},
- {"label":"KM___0", "x":0, "y":5, "w":2},
- {"label":"KM_DOT", "x":2, "y":5},
- {"label":"KM_ENT", "x":3, "y":4, "h":2}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/arrow_pad/keymaps/default/keymap.c b/keyboards/handwired/arrow_pad/keymaps/default/keymap.c
deleted file mode 100644
index dd729c59a1..0000000000
--- a/keyboards/handwired/arrow_pad/keymaps/default/keymap.c
+++ /dev/null
@@ -1,119 +0,0 @@
-
-#include QMK_KEYBOARD_H
-#include "led.h"
-
-enum layers {
- LAYER_BASE,
- LAYER_EDIT,
- LAYER_FUNCTION
-};
-
-enum custom_keycodes {
- M_COPY = SAFE_RANGE, // KC_FN5: MACRO_COPY_CUT
- M_SHFCT, // KC_FN6: MACRO_SHIFT_CONTROL
- M_CTALT // KC_FN7: MACRO_CONTROL_ALT
-};
-
-#define SC_UNDO LCTL(KC_Z)
-#define SC_REDO LCTL(KC_Y)
-#define SC_CUT LCTL(KC_X)
-#define SC_COPY LCTL(KC_C)
-#define SC_PSTE LCTL(KC_V)
-#define SC_SELA LCTL(KC_A)
-#define SC_SAVE LCTL(KC_S)
-#define SC_OPEN LCTL(KC_O)
-#define SC_ACLS LALT(KC_F4)
-#define SC_CCLS LCTL(KC_F4)
-
-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, \
- 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, \
- KC_BSPC, KC_PENT, KC_DEL, M_SHFCT ),
-
-[LAYER_FUNCTION] = LAYOUT( \
- BL_TOGG, BL_INC, BL_DEC, _______, \
- TG(1), _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, XXXXXXX, \
- RESET, _______, _______, _______ ),
-
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t * record) {
- // MACRODOWN only works in this function
- switch (keycode) {
-
- case M_COPY:
- if (record->event.pressed) {
- register_code(KC_LCTL);
- if (record->tap.count == 1) {
- register_code(KC_C);
- unregister_code(KC_C);
- } else if (record->tap.count == 2) {
- register_code(KC_X);
- unregister_code(KC_X);
- }
- unregister_code(KC_LCTL);
- }
- break;
-
- case M_SHFCT:
- if (record->event.pressed) {
- if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT));
- if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL));
- if (record->tap.count == 3) register_code(KC_PENT);;
- } else {
- unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL));
- unregister_code(KC_PENT);
- }
- break;
-
- case M_CTALT:
- if (record->event.pressed) {
- if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL));
- if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT));
- } else {
- unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT));
- }
- break;
- }
-
- return true;
-}
-
-void led_set_user(uint8_t usb_led)
-{
- if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
- // output high
- DDRD |= (1<<6);
- PORTD |= (1<<6);
- } else {
- // Hi-Z
- DDRD &= ~(1<<6);
- PORTD &= ~(1<<6);
- }
- if (usb_led & (1<<USB_LED_NUM_LOCK)) {
- // output low
- DDRC |= (1<<7);
- PORTC |= ~(1<<7);
- } else {
- // Hi-Z
- DDRC &= ~(1<<7);
- PORTC &= ~(1<<7);
- }
-}
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
deleted file mode 100644
index 9b6ecfaa36..0000000000
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4097
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT Arrow Pad 21
-#define DESCRIPTION 21-Key QMK Assistant
-
-/* key matrix size */
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 11
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D3, D5 }
-#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D4 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c b/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
deleted file mode 100644
index 1692976357..0000000000
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/keymap.c
+++ /dev/null
@@ -1,119 +0,0 @@
-
-#include QMK_KEYBOARD_H
-#include "led.h"
-
-enum layers {
- LAYER_BASE,
- LAYER_EDIT,
- LAYER_FUNCTION
-};
-
-enum custom_keycodes {
- M_COPY = SAFE_RANGE, // KC_FN5: MACRO_COPY_CUT
- M_SHFCT, // KC_FN6: MACRO_SHIFT_CONTROL
- M_CTALT // KC_FN7: MACRO_CONTROL_ALT
-};
-
-#define SC_UNDO LCTL(KC_Z)
-#define SC_REDO LCTL(KC_Y)
-#define SC_CUT LCTL(KC_X)
-#define SC_COPY LCTL(KC_C)
-#define SC_PSTE LCTL(KC_V)
-#define SC_SELA LCTL(KC_A)
-#define SC_SAVE LCTL(KC_S)
-#define SC_OPEN LCTL(KC_O)
-#define SC_ACLS LALT(KC_F4)
-#define SC_CCLS LCTL(KC_F4)
-
-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, \
- 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, \
- KC_BSPC, KC_DEL, M_SHFCT),
-
-[LAYER_FUNCTION] = LAYOUT_pad21( \
- BL_TOGG, BL_INC, BL_DEC, _______, \
- TG(1), _______, _______, _______, \
- _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, \
- RESET, _______, _______ ),
-
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t * record) {
- // MACRODOWN only works in this function
- switch (keycode) {
-
- case M_COPY:
- if (record->event.pressed) {
- register_code(KC_LCTL);
- if (record->tap.count == 1) {
- register_code(KC_C);
- unregister_code(KC_C);
- } else if (record->tap.count == 2) {
- register_code(KC_X);
- unregister_code(KC_X);
- }
- unregister_code(KC_LCTL);
- }
- break;
-
- case M_SHFCT:
- if (record->event.pressed) {
- if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT));
- if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL));
- if (record->tap.count == 3) register_code(KC_PENT);;
- } else {
- unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL));
- unregister_code(KC_PENT);
- }
- break;
-
- case M_CTALT:
- if (record->event.pressed) {
- if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL));
- if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT));
- } else {
- unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT));
- }
- break;
- }
-
- return true;
-}
-
-void led_set_user(uint8_t usb_led)
-{
- if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
- // output high
- DDRD |= (1<<6);
- PORTD |= (1<<6);
- } else {
- // Hi-Z
- DDRD &= ~(1<<6);
- PORTD &= ~(1<<6);
- }
- if (usb_led & (1<<USB_LED_NUM_LOCK)) {
- // output low
- DDRC |= (1<<7);
- PORTC |= ~(1<<7);
- } else {
- // Hi-Z
- DDRC &= ~(1<<7);
- PORTC &= ~(1<<7);
- }
-}
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
deleted file mode 100644
index d2403c9ecb..0000000000
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
deleted file mode 100644
index db89e4b844..0000000000
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x4096
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT Arrow Pad 24
-#define DESCRIPTION 24-Key QMK Assistant
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
-#define MATRIX_COL_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS
-
-#define BACKLIGHT_PIN B7
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c b/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
deleted file mode 100644
index dd729c59a1..0000000000
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/keymap.c
+++ /dev/null
@@ -1,119 +0,0 @@
-
-#include QMK_KEYBOARD_H
-#include "led.h"
-
-enum layers {
- LAYER_BASE,
- LAYER_EDIT,
- LAYER_FUNCTION
-};
-
-enum custom_keycodes {
- M_COPY = SAFE_RANGE, // KC_FN5: MACRO_COPY_CUT
- M_SHFCT, // KC_FN6: MACRO_SHIFT_CONTROL
- M_CTALT // KC_FN7: MACRO_CONTROL_ALT
-};
-
-#define SC_UNDO LCTL(KC_Z)
-#define SC_REDO LCTL(KC_Y)
-#define SC_CUT LCTL(KC_X)
-#define SC_COPY LCTL(KC_C)
-#define SC_PSTE LCTL(KC_V)
-#define SC_SELA LCTL(KC_A)
-#define SC_SAVE LCTL(KC_S)
-#define SC_OPEN LCTL(KC_O)
-#define SC_ACLS LALT(KC_F4)
-#define SC_CCLS LCTL(KC_F4)
-
-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, \
- 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, \
- KC_BSPC, KC_PENT, KC_DEL, M_SHFCT ),
-
-[LAYER_FUNCTION] = LAYOUT( \
- BL_TOGG, BL_INC, BL_DEC, _______, \
- TG(1), _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, XXXXXXX, \
- RESET, _______, _______, _______ ),
-
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t * record) {
- // MACRODOWN only works in this function
- switch (keycode) {
-
- case M_COPY:
- if (record->event.pressed) {
- register_code(KC_LCTL);
- if (record->tap.count == 1) {
- register_code(KC_C);
- unregister_code(KC_C);
- } else if (record->tap.count == 2) {
- register_code(KC_X);
- unregister_code(KC_X);
- }
- unregister_code(KC_LCTL);
- }
- break;
-
- case M_SHFCT:
- if (record->event.pressed) {
- if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT));
- if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL));
- if (record->tap.count == 3) register_code(KC_PENT);;
- } else {
- unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL));
- unregister_code(KC_PENT);
- }
- break;
-
- case M_CTALT:
- if (record->event.pressed) {
- if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL));
- if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT));
- } else {
- unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT));
- }
- break;
- }
-
- return true;
-}
-
-void led_set_user(uint8_t usb_led)
-{
- if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
- // output high
- DDRD |= (1<<6);
- PORTD |= (1<<6);
- } else {
- // Hi-Z
- DDRD &= ~(1<<6);
- PORTD &= ~(1<<6);
- }
- if (usb_led & (1<<USB_LED_NUM_LOCK)) {
- // output low
- DDRC |= (1<<7);
- PORTC |= ~(1<<7);
- } else {
- // Hi-Z
- DDRC &= ~(1<<7);
- PORTC &= ~(1<<7);
- }
-}
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
deleted file mode 100644
index b305f8482a..0000000000
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-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
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/handwired/arrow_pad/readme.md b/keyboards/handwired/arrow_pad/readme.md
deleted file mode 100644
index 43a0e33c40..0000000000
--- a/keyboards/handwired/arrow_pad/readme.md
+++ /dev/null
@@ -1,133 +0,0 @@
-arrow_pad keyboard firmware
-======================
-
-## Keyboard Info
-
-The ArrowPad is a wired conversion that can be made to any stand-alone keypad. It uses two main layers - a standard numpad, and a more advanced arrow cluster navigator.
-
-The first 24-key ArrowPad was handwired, but the PCB was wired as listed below.
-
-```
-<Chip Ref Des> pin <Pin #>
-<Keycap Name> (Silkscreen Name if different) - <Switch Pin #>
-
-
-Note:
-U2 pin 2 is the Num Lock LED and is active low.
-
-U2 pin 1
-Clear (Num Lock) - 1
-Enter - 2
-Esc (ESC) - 2
-
-
-U2 pin 3
-- - 1
-
-U2 pin 4
-7 - 2
-8 - 2
-9 - 2
-
-U2 pin 5
-* - 2
-Delete (BACK SPACE) - 2
-
-U2 pin 6
-1 - 2
-0 - 2
-. - 2
-, - 2
-
-U2 pin 7
-4 - 2
-5 - 2
-6 - 2
-
-U2 pin 8
-Tab - 2
-= (/) - 2
-
-U2 pin 13
-Delete (BACK SPACE) - 1
-9 - 1
-6 - 1
-3 - 1
-. - 1
-
-U2 pin 14
-Tab - 1
-8 - 1
-5 - 1
-2 - 1
-0 - 1
-
-U2 pin 15
-Esc (ESC) - 1
-= (/) - 1
-/ (*) - 1
-7 - 1
-4 - 1
-1 - 1
-+ - 1
-
-U2 pin 16
-Enter - 1
-* (<--) - 1
-, - 1
-
-U2 pin 17
-Fn (#NAME?) - 1
-- - 2
-Clear (Num Lock) - 2
-
-U2 pin 18
-Fn (#NAME?) - 2
-* (<--) - 2
-+ - 2
-3 - 2
-2 - 2
-```
-
-More info can be found on [GeekHack](https://geekhack.org/index.php?topic=73632.msg1802497#msg1802497)
-
-The second ArrowPad was a conversion from a 21-key Genovation keypad. It used a 2 row x 11 column matrix.
-
-```
-#define LAYOUT_pad21( \
- KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
- KM_NUM, KM_FSL, KM_AST, KM_MIN, \
- KM___7, KM___8, KM___9, \
- KM___4, KM___5, KM___6, KM_PLS, \
- KM___1, KM___2, KM___3, \
- KM___0, KM_DOT, KM_ENT \
-) { \
- { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \
- { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO, KM___0, KM_DOT, }, \
-}
-```
-
-
-## Quantum MK Firmware
-
-For the full Quantum feature list, see [the parent readme.md](/readme.md).
-
-## Building
-
-Download or clone the whole firmware and navigate to the keyboards/arrow_pad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
-
-Depending on which keymap you would like to use, you will have to compile slightly differently.
-
-### Default
-To build with the default keymap, simply run `make handwired/arrow_pad:default`.
-
-### Other Keymaps
-Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.
-
-To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
-
-```
-$ make handwired/arrow_pad:[default|pad_21|pad_24|<name>]
-```
-
-Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/handwired/arrow_pad/rules.mk b/keyboards/handwired/arrow_pad/rules.mk
deleted file mode 100644
index a03f0836b2..0000000000
--- a/keyboards/handwired/arrow_pad/rules.mk
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key
-# 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
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6 \ No newline at end of file
diff --git a/keyboards/handwired/atreus50/atreus50.c b/keyboards/handwired/atreus50/atreus50.c
deleted file mode 100644
index 225a51bcce..0000000000
--- a/keyboards/handwired/atreus50/atreus50.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "atreus50.h"
-
-void matrix_init_kb(void) {
-
- // Turn status LED on
- //DDRE |= (1<<6);
- PORTE |= (1<<6);
-
- matrix_init_user();
-};
diff --git a/keyboards/handwired/atreus50/atreus50.h b/keyboards/handwired/atreus50/atreus50.h
deleted file mode 100644
index eb31ca1b8e..0000000000
--- a/keyboards/handwired/atreus50/atreus50.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef ATREUS50_H
-#define ATREUS50_H
-
-#include "quantum.h"
-
-// The first section contains all of the arguements
-// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k34, k35, km0, km1, k36, k37, k38, k39, k3a, k3b \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, KC_NO, k06, k07, k08, k09, k0a, k0b }, \
- { k10, k11, k12, k13, k14, k15, KC_NO, k16, k17, k18, k19, k1a, k1b }, \
- { k20, k21, k22, k23, k24, k25, km0, k26, k27, k28, k29, k2a, k2b }, \
- { k30, k31, k32, k33, k34, k35, km1, k36, k37, k38, k39, k3a, k3b } \
-}
-
-#define LAYOUT_kc( \
- 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, km0, km1, k36, k37, k38, k39, k3a, k3b \
-) \
-{ \
- { KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_NO, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b }, \
- { KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_NO, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b }, \
- { KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##km0, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b }, \
- { KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##km1, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b } \
-}
-
-#define KC_ KC_TRNS
-
-#endif
diff --git a/keyboards/handwired/atreus50/config.h b/keyboards/handwired/atreus50/config.h
deleted file mode 100644
index 4cdc7ed125..0000000000
--- a/keyboards/handwired/atreus50/config.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x040D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Atreus 50 Keyboard
-#define DESCRIPTION Atreus layout with extra column
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 13
-
-/* Planck PCB default pin-out */
-#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
-#define MATRIX_COL_PINS { D4, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* ws2812 RGB LED */
-#define RGB_DI_PIN C6
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 12 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/atreus50/info.json b/keyboards/handwired/atreus50/info.json
deleted file mode 100644
index 4e3b4ac497..0000000000
--- a/keyboards/handwired/atreus50/info.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "keyboard_name": "Atreus50",
- "url": "",
- "maintainer": "qmk",
- "width": 15,
- "height": 4.5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Tab", "x":0, "y":0.5},
- {"label":"Q", "x":1, "y":0.5},
- {"label":"W", "x":2, "y":0.25},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0.25},
- {"label":"T", "x":5, "y":0.5},
-
- {"label":"Y", "x":9, "y":0.5},
- {"label":"U", "x":10, "y":0.25},
- {"label":"I", "x":11, "y":0},
- {"label":"O", "x":12, "y":0.25},
- {"label":"P", "x":13, "y":0.5},
- {"label":"-", "x":14, "y":0.5},
-
- {"label":"Ctrl/Esc", "x":0, "y":1.5},
- {"label":"A", "x":1, "y":1.5},
- {"label":"S", "x":2, "y":1.25},
- {"label":"D", "x":3, "y":1},
- {"label":"F", "x":4, "y":1.25},
- {"label":"G", "x":5, "y":1.5},
-
- {"label":"H", "x":9, "y":1.5},
- {"label":"J", "x":10, "y":1.25},
- {"label":"K", "x":11, "y":1},
- {"label":"L", "x":12, "y":1.25},
- {"label":";", "x":13, "y":1.5},
- {"label":"'", "x":14, "y":1.5},
-
- {"label":"LShift", "x":0, "y":2.5},
- {"label":"Z", "x":1, "y":2.5},
- {"label":"X", "x":2, "y":2.25},
- {"label":"C", "x":3, "y":2},
- {"label":"V", "x":4, "y":2.25},
- {"label":"B", "x":5, "y":2.5},
-
- {"label":"N", "x":9, "y":2.5},
- {"label":"M", "x":10, "y":2.25},
- {"label":",", "x":11, "y":2},
- {"label":".", "x":12, "y":2.25},
- {"label":"/", "x":13, "y":2.5},
- {"label":"Shift/Enter", "x":14, "y":2.5},
-
- {"label":"`", "x":0, "y":3.5},
- {"label":"LCtrl", "x":1, "y":3.5},
- {"label":"LAlt", "x":2, "y":3.25},
- {"label":"LGUI", "x":3, "y":3},
- {"label":"Lower", "x":4, "y":3.25},
- {"label":"Space", "x":5, "y":3.5},
- {"label":"Fn", "x":6, "y":2.75, "h":1.5},
-
- {"label":"RShift", "x":8, "y":2.75, "h":1.5},
- {"label":"Back Space", "x":9, "y":3.5},
- {"label":"Raise", "x":10, "y":3.25},
- {"label":"Left", "x":11, "y":3},
- {"label":"Down", "x":12, "y":3.25},
- {"label":"Up", "x":13, "y":3.5},
- {"label":"Right", "x":14, "y":3.5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/config.h b/keyboards/handwired/atreus50/keymaps/ajp10304/config.h
deleted file mode 100644
index f5e6bbabe6..0000000000
--- a/keyboards/handwired/atreus50/keymaps/ajp10304/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-#undef MATRIX_ROW_PINS
-#undef MATRIX_COL_PINS
-
-#define MATRIX_ROW_PINS { D4, D5, C7, C6 }
-#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, D7, D1, B7, D0, B3, B2, B1, B0 }
-
-#endif
diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
deleted file mode 100644
index 1e53d050b0..0000000000
--- a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c
+++ /dev/null
@@ -1,342 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_uk.h"
-
-extern keymap_config_t keymap_config;
-
-enum planck_layers {
- _QWERTY,
- _MAC,
- _LOWER,
- _MLWR,
- _RAISE,
- _MRSE,
- _FUNC,
- _MFNC,
- _FUNC2,
- _MFNC2,
- _ADJUST,
- _MOUSE
-};
-
-enum planck_keycodes {
- QWERTY = SAFE_RANGE,
- MAC,
- FUNC,
- MFNC,
- FUNC2,
- MFNC2,
- LOWER,
- MLWR,
- RAISE,
- MRSE,
- MOUSE,
- DYNAMIC_MACRO_RANGE
-};
-
-#include "dynamic_macro.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------| |-----------------------------------------.
- * | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | | H | J | K | L | ;: | Enter|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shft | Z | X | C | V | B | | N | M | ,< | .> | /? | Shft |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Raise | Shift| MENU | Ctrl | Fn2 |
- * `-------------------------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,
- MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,
- KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_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 |
- * |------+------+------+------+------+------- |------+------+------+------+------+------|
- * | 1! | 2" | 3£ | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | ~ |INSERT|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| \| | `¬ | #~ | * | -_ | | =+ | \| | [{ | ]} | '@ |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Mouse | MENU | Alt | Ctrl | Fn |
- * `-------------------------------------------------------------------------------------------------'
- */
-[_FUNC] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 ,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, UK_TILD, KC_INSERT ,
- KC_LSHIFT, KC_NONUS_BSLASH, KC_GRAVE, KC_NONUS_HASH, KC_PAST, KC_MINS, KC_EQL, KC_BSLASH, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(_MOUSE), _______, _______, _______, _______
-),
-
-/* Lower
- * ,------------------------------------------ |-----------------------------------------.
- * | 1! | 2" | 3£ | 4$ | 5% | 6^ | | 7& | 8* | 9( | 0) | DEL | Bksp |
- * |------+------+------+------+------+------- |------+------+------+------+------+------|
- * | ! | " | £ | $ | % | ^ | | & | * | ( | ) |WrdDel|WrdBks|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| \| | `¬ | #~ | '@ | -_ | | =+ | #~ | [{ | ]} | '@ |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | |Lower | Del | Ctrl | Alt |Space | | Next | Vol- | Vol+ | Play |
- * `-------------------------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_BSPC ,
- LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), LCTL(KC_DEL), LCTL(KC_BSPC) ,
- KC_LSPO, KC_NONUS_BSLASH, KC_GRAVE, KC_NONUS_HASH, KC_QUOT, KC_MINS, KC_EQL, KC_NONUS_HASH, KC_LBRC, KC_RBRC, KC_QUOT, MT(MOD_RSFT, KC_ENT) ,
- _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,------------------------------------------ |-----------------------------------------.
- * | ` | |WRDSEL| [ | ] | | | | PGUP | HOME |PGDOWN| |PRNTSC|
- * |------+------+------+------+------+------- |------+------+------+------+------+------|
- * | ` | | | ( | ) | | | | HOME | UP | END | |ZOOM +|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | { | } | | | |< | LEFT | DOWN |RIGHT | >| |ZOOM -|
- * |------+------+------+------+------+------|------+------+------+------+------+------+------+------|
- * | Mouse| | | | | Alt | Ctrl | Alt |Enter |Raise | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- KC_GRV, XXXXXXX, M(1), KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_PGDOWN, XXXXXXX, KC_PSCREEN ,
- KC_GRV, XXXXXXX, XXXXXXX, LSFT(KC_9), LSFT(KC_0), XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, LCTL(LSFT(KC_EQL)) ,
- _______, XXXXXXX, XXXXXXX, LSFT(KC_LBRC), LSFT(KC_RBRC), XXXXXXX, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), LCTL(KC_MINS) ,
- MO(_MOUSE), _______, _______, _______, _______, KC_LALT, _______, _______, KC_ENT, _______, XXXXXXX, _______, _______, _______
-),
-
-/* Adjust (Lower + Raise)
- * ,------------------------------------------ |-----------------------------------------.
- * | ???? | Reset|Qwerty| | | REC1 | | REC2 | | | | | Del |
- * |------+------+------+------+------+------- |------+------+------+------+------+------|
- * | CAPS | | | | | PLAY1| | PLAY2| Mute | Vol+ | Play | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | PC/MC| | | | | STOP | | STOP | Prev | Vol- | Next | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- M(0), 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, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Mouse
- * ,------------------------------------------ |-----------------------------------------.
- * | ESC | | | | | | | | | | | | |
- * |------+------+------+------+------+------- |------+------+------+------+------+------|
- * | ACC0 | ACC1 | ACC2 | | | | | | BTN1 | UP | BTN2 | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ACC0 | ACC1 | ACC2 | | | | | | LEFT | DOWN |RIGHT | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
-[_MOUSE] = LAYOUT(
- KC_ESC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, _______, _______ ,
- KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Function 2 (Right hand side)
- * ,------------------------------------------ |-----------------------------------------.
- * | | |WRDSEL| | | | | LNDEL| | | | | |
- * |------+------+------+------+------+------- |------+------+------+------+------+------|
- * | | | LNSEL| DUP | | | | | |LNJOIN| | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | UNDO | CUT | COPY | PASTE| | | | | | | | MODE |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
-[_FUNC2] = LAYOUT(
- _______, _______, M(1), _______, _______, _______, M(5), _______, _______, _______, _______, _______,
- _______, _______, M(3), M(7), _______, _______, _______, M(10), _______, _______, _______, _______,
- _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M(98) ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_MAC] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- MFNC, _______, _______, _______, MLWR, _______, _______, _______, _______, MRSE, _______, _______, _______, MFNC2
-),
-
-[_MLWR] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_MRSE] = LAYOUT(
- _______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) ,
- _______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_MFNC] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_MFNC2] = LAYOUT(
- _______, _______, M(2), _______, _______, _______, M(6), _______, _______, _______, _______, _______,
- _______, _______, M(4), M(8), _______, _______, _______, M(10), _______, _______, _______, _______,
- _______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M(99) ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-};
-
-void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
-
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- persistant_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case MLWR:
- if (record->event.pressed) {
- layer_on(_LOWER);
- layer_on(_MLWR);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- layer_off(_MLWR);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case MRSE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- layer_on(_MRSE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- layer_off(_MRSE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- case MFNC:
- if (record->event.pressed) {
- layer_on(_FUNC);
- layer_on(_MFNC);
- } else {
- layer_off(_FUNC);
- layer_off(_MFNC);
- }
- return false;
- case MFNC2:
- if (record->event.pressed) {
- layer_on(_FUNC2);
- layer_on(_MFNC2);
- } else {
- layer_off(_FUNC2);
- layer_off(_MFNC2);
- }
- return false;
- }
- return true;
-}
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t opt) {
- // These would trigger when you hit a key mapped as M(0)
- if (record->event.pressed) {
- switch(keycode) {
- case 0: // Some custom string here
- SEND_STRING("");
- return false;
-
- case 1: // Word Select
- SEND_STRING(SS_DOWN(X_LCTRL) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LCTRL));
- return false;
-
- case 2: // Word Select Mac
- SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT));
- return false;
-
- case 3: // Line Select
- SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
- return false;
-
- case 4: // Line Select Mac
- SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
- return false;
-
- case 5: // Line Delete
- SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
- SEND_STRING(SS_TAP(X_BSPACE));
- return false;
-
- case 6: // Line Delete Mac
- SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
- SEND_STRING(SS_TAP(X_BSPACE));
- return false;
-
- case 7: // Duplicate Selection
- SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
- return false;
-
- case 8: // Duplicate Selection Mac
- SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v"));
- return false;
-
- case 9: // Join line
- SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE));
- return false;
-
- case 10: // Join line Mac
- SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE));
- return false;
-
- case 98: // Print mode
- SEND_STRING("PC");
- return false;
-
- case 99: // Print mode
- SEND_STRING("OSX");
- return false;
- }
- }
- return MACRO_NONE;
-};
diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md b/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md
deleted file mode 100644
index 41ad0f5118..0000000000
--- a/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md
+++ /dev/null
@@ -1,108 +0,0 @@
-# AJP10304 Custom Atreus50 Layout
-# Also available for the Planck and JJ40
-
-**Note:** In the tables below where there are two characters on a key,
-the second is the output when shift is applied.
-
-**Note:** The below tables assume a UK layout.
-
-##### Main Qwerty Layer
-
-* Tab: when held, operates as shift.
-* Enter: when held, operates as shift.
-* MENU: perform right-click
-
-| | | | | | | | | | | | | | |
-| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:|
-| Esc | Q | W | E | R | T | | | Y | U | I | O | P | Bksp |
-| Tab | A | S | D | F | G | | | H | J | K | L | ;: | Enter|
-| Shft | Z | X | C | V | B | | | N | M | ,< | .> | /? | 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.
-
-| | | | | | | | | | | | | | |
-| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
-| F1 | F2 | F3 | F4 | F5 | F6 | | | F7 | F8 | F9 | F10 | F11 | F12 |
-| 1! | 2" | 3£ | 4$ | 5% | 6^ | | | 7& | 8* | 9( | 0) | ~ |INSERT|
-| Shift | \| | `¬ | #~ | * | -_ | | | =+ | \| | [{ | ]} | '@ |Shift |
-| Fn | Ctrl | Alt | GUI |Lower | Bksp | Ctrl | Alt |Space |Mouse | MENU | Alt | Ctrl | Fn2 |
-
-##### Lower Layer
-Activated when `Lower` is held in the above `qwerty` layer.
-
-* Numbers are along the top row, their shifted counterparts are on row 2.
-* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word.
-* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word.
-
-| | | | | | | | | | | | | | |
-| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
-| 1! | 2" | 3£ | 4$ | 5% | 6^ | | | 7& | 8* | 9( | 0) | DEL | Bksp |
-| ! | " | £ | $ | % | ^ | | | & | * | ( | ) |WrdDel|WrdBks|
-| Shift | \| | `¬ | #~ | '@ | -_ | | | =+ | #~ | [{ | ]} | '@ |Shift |
-| | | | |Lower | Del | Ctrl | Alt |Space | | Next | Vol- | Vol+ | Play |
-
- ##### Raise Layer
- Activated when `Raise` is held in the above `qwerty` layer.
-
- * Preferred layer for typing brackets.
- * Allows for cursor navigation to be used solely with the right hand.
- * WRDSEL: Select the word where the cursor is.
- * |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
-
-| | | | | | | | | | | | | | |
-| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
-| ` | |WRDSEL| [ | ] | | | | | PGUP | HOME |PGDOWN| |PRNTSC|
-| ` | | | ( | ) | | | | | HOME | UP | END | |ZOOM +|
-| | | | { | } | | | |&#124;<| LEFT | DOWN |RIGHT |>&#124;|ZOOM -|
-| Mouse | | | | | Alt | Ctrl | Alt | Enter |Raise | | | | |
-
-##### Lower + Raise
-Activated when `Lower` and `Raise` are held together in the above `qwerty` layer.
-
-* Audio controls in the same position as cursor keys from the `Raise` layer.
-* ????: Runs a macro for outputting a text string. Do not use this store passwords.
-* Reset: Enter bootloader for flashing firmware to the keyboard.
-* CAPS: Toggle caps lock.
-* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2.
-To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
-* 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 | | | |
-
-##### Function 2 Layer
-Activated when `fn` held in the above `qwerty` layer.
-* WRDSEL: Select the word where the cursor is.
-* LNDEL: Delete the line where the cursor is.
-* LNSEL: Select the line where the cursor is.
-* DUP: Duplicate the selected text.
-* LNJOIN: Join the line where the cursor is with the following line.
-* MODE: Print either `PC` or `OSX` depending on what layer mode is active.
-
-| | | | | | | | | | | | | | |
-| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
-| | |WRDSEL| | | | | | LNDEL| | | | | |
-| | | LNSEL| DUP | | | | | | |LNJOIN| | | |
-| | UNDO | CUT | COPY | PASTE| | | | | | | | | MODE |
-| | | | | | | Ctrl | Alt | | | | | | |
-
-##### Mouse Layer
-Activated when `fn` and `raise` held together.
-
-| | | | | | | | | | | | | | |
-| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
-| ESC | | | | | | | | | | | | | |
-| ACC0 | ACC1 | ACC2 | | | | | | | BTN1 | UP | BTN2 | | |
-| ACC0 | ACC1 | ACC2 | | | | | | | LEFT | DOWN | RIGHT| | |
-| | | | | | | Ctrl | Alt | | | | | | |
-
-
-##Program Command
-teensy_loader_cli -w -mmcu=atmega32u4 handwired_atreus50_ajp10304.hex
diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/rules.mk b/keyboards/handwired/atreus50/keymaps/ajp10304/rules.mk
deleted file mode 100644
index fc5d9ba1aa..0000000000
--- a/keyboards/handwired/atreus50/keymaps/ajp10304/rules.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-AUDIO_ENABLE = no
-MOUSEKEY_ENABLE = yes
-
-TEMP := $(OPT_DEFS)
-OPT_DEFS = $(filter-out -DBOOTLOADER_SIZE=4096,$(TEMP))
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-BOOTLOADER = halfkay
diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c
deleted file mode 100644
index 97b90a6db6..0000000000
--- a/keyboards/handwired/atreus50/keymaps/default/keymap.c
+++ /dev/null
@@ -1,211 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _MOVEMENT 5
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- MOVEMENT,
- BACKLIT
-};
-
-// Fillers to make layering more clear
-#define X0 MT(MOD_LCTL, KC_ESC) // Hold for Left Ctrl, Tap for ESC
-#define X3 MO(_MOVEMENT)
-#define X4 MT(MOD_LSFT, KC_ENT) // Hold for Left Shift, Tap for Enter
-
-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_MINS,
- X0, 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, X4,
- KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, X3, KC_RSFT, KC_BSPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [_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_MINS,
- X0, 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, X4,
- KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, X3, KC_RSFT, KC_BSPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [_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_MINS,
- X0, 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, X4,
- KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, X3, KC_RSFT, KC_BSPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [_LOWER] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_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, KC_END, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- [_RAISE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_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_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- [_MOVEMENT] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_UP, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_LEFT, KC_DOWN, KC_RGHT, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_END, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
-/* Adjust (Lower + Raise)
- * |------+------+------+------+------+------. ,------+------+------+------+------+------|
- * | | Reset| | | | | | | | | | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | |Audoff|Aud on|AGnorm| |AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |Voice-|Voice+|Musoff|Mus on| | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------------------------'
- */
- [_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, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- )
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_startup[][2] = {
- {NOTE_B5, 20},
- {NOTE_B6, 8},
- {NOTE_DS6, 20},
- {NOTE_B6, 8}
-};
-
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-
-float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
-
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-#endif
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- persistent_default_layer_set(1UL<<_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- persistent_default_layer_set(1UL<<_DVORAK);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case BACKLIT:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- }
- return true;
-};
-
-void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- startup_user();
- #endif
-}
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
- PLAY_SONG(tone_startup);
-}
-
-void shutdown_user()
-{
- PLAY_SONG(tone_goodbye);
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
diff --git a/keyboards/handwired/atreus50/keymaps/default/rules.mk b/keyboards/handwired/atreus50/keymaps/default/rules.mk
deleted file mode 100644
index 7ff0f235d6..0000000000
--- a/keyboards/handwired/atreus50/keymaps/default/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-AUDIO_ENABLE = no
diff --git a/keyboards/handwired/atreus50/readme.md b/keyboards/handwired/atreus50/readme.md
deleted file mode 100644
index 9449d66e5b..0000000000
--- a/keyboards/handwired/atreus50/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Handwired Atreus50
-
-This firmware is for a handwired Atreus50 using an Arduino Pro Micro.
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: Arduino Pro Micro
-
-## Pinout
-
-The following pins are used:
-- Columns 1-13: D4, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4
-- Rows 1-4: D3, D2, D1, D0
-
-## Compiling and loading the firmware
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/atreus50:default
-
-To flash the firmware onto the microcontroller, run `make avrdude`, and press the reset button.
-
- make handwired/atreus50:default:avrdude
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/atreus50/rules.mk b/keyboards/handwired/atreus50/rules.mk
deleted file mode 100644
index 21c4704e0d..0000000000
--- a/keyboards/handwired/atreus50/rules.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/bluepill/bluepill.c b/keyboards/handwired/bluepill/bluepill.c
deleted file mode 100644
index 85c92dfe96..0000000000
--- a/keyboards/handwired/bluepill/bluepill.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "bluepill.h" \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/bluepill.h b/keyboards/handwired/bluepill/bluepill.h
deleted file mode 100644
index a686d155ce..0000000000
--- a/keyboards/handwired/bluepill/bluepill.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-#include "led.h"
-
-/* ANSI LAYOUT
- ESC| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| F11| F12| PSC| PGU| PGD
- GRA| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ' | ¡ | BCKS | DEL
- TAB| Q | W | E | R | T | Y | U | I | O | P | ` | + | | HOM
- CAP| A | S | D | F | G | H | J | K | L | Ñ | ´ | Ç | ENTER | END
- LSI| (<)| Z | X | C | V | B | N | M | , | . | - | RSHIF | UP | FNL
- LCT| WIN| ALT| ESPACE | ALG| FN | RCT| LEF| DOW| RIG
-*/
-
-#define LAYOUT_seventy_ansi( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \
- K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K0E, K1E }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2D }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
- { K50, K51, K52, KC_NO, KC_NO, KC_NO, K53, KC_NO, KC_NO,K54, K55, K56, K57, K58, K59 } \
-}
-
-/* ISO LAYOUT
- ESC| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| F11| F12| PSC| PGU| PGD
- GRA| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ' | ¡ | BCKS | DEL
- TAB| Q | W | E | R | T | Y | U | I | O | P | ` | + | | HOM
- CAP| A | S | D | F | G | H | J | K | L | Ñ | ´ | Ç | ENTER | END
- LSI| < | Z | X | C | V | B | N | M | , | . | - | RSHIF | UP | FNL
- LCT| WIN| ALT| ESPACE | ALG| FN | RCT| LEF| DOW| RIG
-*/
-
-#define LAYOUT_seventy_iso( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \
- K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K0E, K1E }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1D, K2D }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E }, \
- { K50, K51, K52, KC_NO, KC_NO, KC_NO, K53, KC_NO, KC_NO,K54, K55, K56, K57, K58, K59 } \
-}
diff --git a/keyboards/handwired/bluepill/bluepill70/bluepill70.c b/keyboards/handwired/bluepill/bluepill70/bluepill70.c
deleted file mode 100644
index 511c602d45..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/bluepill70.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "bluepill70.h" \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/bluepill70/bluepill70.h b/keyboards/handwired/bluepill/bluepill70/bluepill70.h
deleted file mode 100644
index 8a313cc500..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/bluepill70.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-#include "bluepill.h"
-// Modified by Xydane
-// #define LAYOUT(k00) {{ k00 }} \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/bluepill70/bootloader_defs.h b/keyboards/handwired/bluepill/bluepill70/bootloader_defs.h
deleted file mode 100644
index 0f45203cb6..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/bootloader_defs.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Address for jumping to bootloader on STM32 chips. */
-/* It is chip dependent, the correct number can be looked up here (page 175):
- * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
- * This also requires a patch to chibios:
- * <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
- */
-
-// STM32F103* does NOT have an USB bootloader in ROM (only serial),
-// so setting anything here does not make much sense
-// #define STM32_BOOTLOADER_ADDRESS 0x1FFFC800
diff --git a/keyboards/handwired/bluepill/bluepill70/chconf.h b/keyboards/handwired/bluepill/bluepill70/chconf.h
deleted file mode 100644
index dfb1f9dfb9..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 16
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 2000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/* Use __WFI in the idle thread for waiting. Does lower the power
- * consumption. */
-#define CORTEX_ENABLE_WFI_IDLE TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS FALSE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/keyboards/handwired/bluepill/bluepill70/config.h b/keyboards/handwired/bluepill/bluepill70/config.h
deleted file mode 100644
index 87fd74633f..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#pragma once
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6464
-#define DEVICE_VER 0x0001
-/* in python2: list(u"whatever".encode('utf-16-le')) */
-/* at most 32 characters or the ugly hack in usb_main.c works */
-
-// Modified by Xydane
-#define MANUFACTURER "QMK"
-#define USBSTR_MANUFACTURER 'T', '\x00', 'M', '\x00', 'K', '\x00', ' ', '\x00', '\xc6', '\x00'
-#define PRODUCT "BluePill70"
-#define USBSTR_PRODUCT 'C', '\x00', 'h', '\x00', 'i', '\x00', 'b', '\x00', 'i', '\x00', 'O', '\x00', 'S', '\x00', ' ', '\x00', 'Q', '\x00', 'M', '\x00', 'K', '\x00'
-#define DESCRIPTION "QMK keyboard firmware with ChibiOS"
-
-/* key matrix size */
-// Modified by Xydane
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 15
-#define DIODE_DIRECTION COL2ROW
-
-// Iso fix for Space Cadet, comment for ANSI layouts
-#define LSPO_KEY KC_8
-#define RSPC_KEY KC_9 \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/bluepill70/flash.sh b/keyboards/handwired/bluepill/bluepill70/flash.sh
deleted file mode 100644
index d001ff007e..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/flash.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-Arduino_STM32_usb_hid/tools/linux/maple_upload ttyACM0 2 1EAF:0003 build/ch.bin \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/bluepill70/halconf.h b/keyboards/handwired/bluepill/bluepill70/halconf.h
deleted file mode 100644
index 5be284cd35..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/halconf.h
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-// Modified by Xydane
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/keyboards/handwired/bluepill/bluepill70/info.json b/keyboards/handwired/bluepill/bluepill70/info.json
deleted file mode 100644
index 3f08b50e55..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/info.json
+++ /dev/null
@@ -1,187 +0,0 @@
-{
- "keyboard_name": "BluePill 70",
- "url": "",
- "maintainer": "qmk",
- "width": 16,
- "height": 6,
- "layouts": {
- "LAYOUT_seventy_ansi": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1, "y":0},
- {"label":"F2", "x":2, "y":0},
- {"label":"F3", "x":3, "y":0},
- {"label":"F4", "x":4, "y":0},
- {"label":"F5", "x":5, "y":0},
- {"label":"F6", "x":6, "y":0},
- {"label":"F7", "x":7, "y":0},
- {"label":"F8", "x":8, "y":0},
- {"label":"F9", "x":9, "y":0},
- {"label":"F10", "x":10, "y":0},
- {"label":"F11", "x":11, "y":0},
- {"label":"F12", "x":12, "y":0},
- {"label":"Print Screen", "x":13, "y":0},
- {"label":"Home", "x":14, "y":0},
- {"label":"End", "x":15, "y":0},
- {"label":"`", "x":0, "y":1},
- {"label":"1", "x":1, "y":1},
- {"label":"2", "x":2, "y":1},
- {"label":"3", "x":3, "y":1},
- {"label":"4", "x":4, "y":1},
- {"label":"5", "x":5, "y":1},
- {"label":"6", "x":6, "y":1},
- {"label":"7", "x":7, "y":1},
- {"label":"8", "x":8, "y":1},
- {"label":"9", "x":9, "y":1},
- {"label":"0", "x":10, "y":1},
- {"label":"-", "x":11, "y":1},
- {"label":"=", "x":12, "y":1},
- {"label":"Backspace", "x":13, "y":1, "w":2},
- {"label":"Delete", "x":15, "y":1},
- {"label":"Tab", "x":0, "y":2, "w":1.5},
- {"label":"Q", "x":1.5, "y":2},
- {"label":"W", "x":2.5, "y":2},
- {"label":"E", "x":3.5, "y":2},
- {"label":"R", "x":4.5, "y":2},
- {"label":"T", "x":5.5, "y":2},
- {"label":"Y", "x":6.5, "y":2},
- {"label":"U", "x":7.5, "y":2},
- {"label":"I", "x":8.5, "y":2},
- {"label":"O", "x":9.5, "y":2},
- {"label":"P", "x":10.5, "y":2},
- {"label":"[", "x":11.5, "y":2},
- {"label":"]", "x":12.5, "y":2},
- {"label":"Page Up", "x":15, "y":2},
- {"label":"Caps Lock", "x":0, "y":3, "w":1.75},
- {"label":"A", "x":1.75, "y":3},
- {"label":"S", "x":2.75, "y":3},
- {"label":"D", "x":3.75, "y":3},
- {"label":"F", "x":4.75, "y":3},
- {"label":"G", "x":5.75, "y":3},
- {"label":"H", "x":6.75, "y":3},
- {"label":"J", "x":7.75, "y":3},
- {"label":"K", "x":8.75, "y":3},
- {"label":"L", "x":9.75, "y":3},
- {"label":";", "x":10.75, "y":3},
- {"label":"'", "x":11.75, "y":3},
- {"label":"Enter", "x":12.75, "y":3, "w":2.25},
- {"label":"\\", "x":13.5, "y":2, "w":1.5},
- {"label":"Page Down", "x":15, "y":3},
- {"label":"Shift", "x":0, "y":4, "w":1.25},
- {"label":"ISO \\", "x":1.25, "y":4},
- {"label":"Z", "x":2.25, "y":4},
- {"label":"X", "x":3.25, "y":4},
- {"label":"C", "x":4.25, "y":4},
- {"label":"V", "x":5.25, "y":4},
- {"label":"B", "x":6.25, "y":4},
- {"label":"N", "x":7.25, "y":4},
- {"label":"M", "x":8.25, "y":4},
- {"label":",", "x":9.25, "y":4},
- {"label":".", "x":10.25, "y":4},
- {"label":"/", "x":11.25, "y":4},
- {"label":"Shift", "x":12.25, "y":4, "w":1.75},
- {"label":"Up", "x":14, "y":4},
- {"label":"TT(2)", "x":15, "y":4},
- {"label":"Ctrl", "x":0, "y":5, "w":1.25},
- {"label":"GUI", "x":1.25, "y":5, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5, "w":1.25},
- {"label":"Space", "x":3.75, "y":5, "w":6.25},
- {"label":"Alt", "x":10, "y":5},
- {"label":"Fn", "x":11, "y":5},
- {"label":"Ctrl", "x":12, "y":5},
- {"label":"Left", "x":13, "y":5},
- {"label":"Down", "x":14, "y":5},
- {"label":"Right", "x":15, "y":5}
- ]
- },
- "LAYOUT_seventy_iso": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1, "y":0},
- {"label":"F2", "x":2, "y":0},
- {"label":"F3", "x":3, "y":0},
- {"label":"F4", "x":4, "y":0},
- {"label":"F5", "x":5, "y":0},
- {"label":"F6", "x":6, "y":0},
- {"label":"F7", "x":7, "y":0},
- {"label":"F8", "x":8, "y":0},
- {"label":"F9", "x":9, "y":0},
- {"label":"F10", "x":10, "y":0},
- {"label":"F11", "x":11, "y":0},
- {"label":"F12", "x":12, "y":0},
- {"label":"Print Screen", "x":13, "y":0},
- {"label":"Home", "x":14, "y":0},
- {"label":"End", "x":15, "y":0},
- {"label":"`", "x":0, "y":1},
- {"label":"1", "x":1, "y":1},
- {"label":"2", "x":2, "y":1},
- {"label":"3", "x":3, "y":1},
- {"label":"4", "x":4, "y":1},
- {"label":"5", "x":5, "y":1},
- {"label":"6", "x":6, "y":1},
- {"label":"7", "x":7, "y":1},
- {"label":"8", "x":8, "y":1},
- {"label":"9", "x":9, "y":1},
- {"label":"0", "x":10, "y":1},
- {"label":"-", "x":11, "y":1},
- {"label":"=", "x":12, "y":1},
- {"label":"Backspace", "x":13, "y":1, "w":2},
- {"label":"Delete", "x":15, "y":1},
- {"label":"Tab", "x":0, "y":2, "w":1.5},
- {"label":"Q", "x":1.5, "y":2},
- {"label":"W", "x":2.5, "y":2},
- {"label":"E", "x":3.5, "y":2},
- {"label":"R", "x":4.5, "y":2},
- {"label":"T", "x":5.5, "y":2},
- {"label":"Y", "x":6.5, "y":2},
- {"label":"U", "x":7.5, "y":2},
- {"label":"I", "x":8.5, "y":2},
- {"label":"O", "x":9.5, "y":2},
- {"label":"P", "x":10.5, "y":2},
- {"label":"[", "x":11.5, "y":2},
- {"label":"]", "x":12.5, "y":2},
- {"label":"Page Up", "x":15, "y":2},
- {"label":"Caps Lock", "x":0, "y":3, "w":1.75},
- {"label":"A", "x":1.75, "y":3},
- {"label":"S", "x":2.75, "y":3},
- {"label":"D", "x":3.75, "y":3},
- {"label":"F", "x":4.75, "y":3},
- {"label":"G", "x":5.75, "y":3},
- {"label":"H", "x":6.75, "y":3},
- {"label":"J", "x":7.75, "y":3},
- {"label":"K", "x":8.75, "y":3},
- {"label":"L", "x":9.75, "y":3},
- {"label":";", "x":10.75, "y":3},
- {"label":",", "x":11.75, "y":3},
- {"label":"ISO #", "x":12.75, "y":3},
- {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2},
- {"label":"Page Down", "x":15, "y":3},
- {"label":"Shift", "x":0, "y":4, "w":1.25},
- {"label":"ISO \\", "x":1.25, "y":4},
- {"label":"Z", "x":2.25, "y":4},
- {"label":"X", "x":3.25, "y":4},
- {"label":"C", "x":4.25, "y":4},
- {"label":"V", "x":5.25, "y":4},
- {"label":"B", "x":6.25, "y":4},
- {"label":"N", "x":7.25, "y":4},
- {"label":"M", "x":8.25, "y":4},
- {"label":",", "x":9.25, "y":4},
- {"label":".", "x":10.25, "y":4},
- {"label":"/", "x":11.25, "y":4},
- {"label":"Shift", "x":12.25, "y":4, "w":1.75},
- {"label":"Up", "x":14, "y":4},
- {"label":"TT(2)", "x":15, "y":4},
- {"label":"Ctrl", "x":0, "y":5, "w":1.25},
- {"label":"GUI", "x":1.25, "y":5, "w":1.25},
- {"label":"Alt", "x":2.5, "y":5, "w":1.25},
- {"label":"Space", "x":3.75, "y":5, "w":6.25},
- {"label":"Alt", "x":10, "y":5},
- {"label":"Fn", "x":11, "y":5},
- {"label":"Ctrl", "x":12, "y":5},
- {"label":"Left", "x":13, "y":5},
- {"label":"Down", "x":14, "y":5},
- {"label":"Right", "x":15, "y":5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/bluepill/bluepill70/led.c b/keyboards/handwired/bluepill/bluepill70/led.c
deleted file mode 100644
index 5c557bbee1..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/led.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "hal.h"
-#include "led.h"
-
-
-void led_set(uint8_t usb_led){
- if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
- /* generic STM32F103C8T6 board */
- #ifdef BOARD_GENERIC_STM32_F103
- palClearPad(GPIOC, 13);
- #endif
- } else {
- /* generic STM32F103C8T6 board */
- #ifdef BOARD_GENERIC_STM32_F103
- palSetPad(GPIOC, 13);
- #endif
- }
-}
-
-// inline void gh60_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
-
-// inline void gh60_caps_led_on(void) { DDRB |= (1<<2); PORTB &= ~(1<<2); } \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/bluepill70/matrix.c b/keyboards/handwired/bluepill/bluepill70/matrix.c
deleted file mode 100644
index b2c38e5226..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/matrix.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- * scan matrix
- */
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "wait.h"
-
-//#include "pwm.c"
-
-#ifndef DEBOUNCE
-# define DEBOUNCE 5
-#endif
-static uint8_t debouncing = DEBOUNCE;
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-static matrix_row_t read_cols(void);
-static void init_cols(void);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-
-inline uint8_t matrix_rows(void){
- return MATRIX_ROWS;
-}
-
-inline uint8_t matrix_cols(void){
- return MATRIX_COLS;
-}
-
-/* generic STM32F103C8T6 board */
-#ifdef BOARD_GENERIC_STM32_F103
-// This could be removed, only used now in matrix_init()
-#define LED_ON() do { palClearPad(GPIOA, 1) ;} while (0)
-#define LED_OFF() do { palSetPad(GPIOA, 1); } while (0)
-#endif
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-void matrix_init(void)
-{
- // initialize row and col
- unselect_rows();
- init_cols();
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
- //debug
- debug_matrix = true;
- LED_ON();
- wait_ms(500);
- LED_OFF();
-
- matrix_init_quantum();
-}
-
-uint8_t matrix_scan(void){
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- select_row(i);
- wait_us(30); // without this wait read unstable value.
- matrix_row_t cols = read_cols();
- if (matrix_debouncing[i] != cols) {
- matrix_debouncing[i] = cols;
- if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
- }
- debouncing = DEBOUNCE;
- }
- unselect_rows();
- }
-
- if (debouncing) {
- if (--debouncing) {
- wait_ms(1);
- } else {
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- matrix[i] = matrix_debouncing[i];
- }
- }
- }
- matrix_scan_quantum();
- return 1;
-}
-
-inline bool matrix_is_on(uint8_t row, uint8_t col){
- return (matrix[row] & ((matrix_row_t)1<<col));
-}
-
-inline matrix_row_t matrix_get_row(uint8_t row){
- return matrix[row];
-}
-
-void matrix_print(void){
- print("\nr/c 0123456789ABCDEF\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- pbin_reverse16(matrix_get_row(row));
- print("\n");
- }
-}
-
-/* Column pin configuration
- */
-// Modified by Xydane
-static void init_cols(void){
- palSetPadMode(GPIOA, 5, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOA, 15, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOA, 9, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOA, 8, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 15, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 14, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 13, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 12, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 11, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 10, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 1, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOB, 0, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOA, 7, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOA, 6, PAL_MODE_INPUT_PULLUP);
-}
-
-/* Returns status of switches(1:on, 0:off) */
-// Modified by Xydane
-static matrix_row_t read_cols(void){
- return ((palReadPad(GPIOA, 5)==PAL_HIGH) ? 0 : (1<<0))
- | ((palReadPad(GPIOA, 15)==PAL_HIGH) ? 0 : (1<<1))
- | ((palReadPad(GPIOA, 10)==PAL_HIGH) ? 0 : (1<<2))
- | ((palReadPad(GPIOA, 9)==PAL_HIGH) ? 0 : (1<<3))
- | ((palReadPad(GPIOA, 8)==PAL_HIGH) ? 0 : (1<<4))
- | ((palReadPad(GPIOB, 15)==PAL_HIGH) ? 0 : (1<<5))
- | ((palReadPad(GPIOB, 14)==PAL_HIGH) ? 0 : (1<<6))
- | ((palReadPad(GPIOB, 13)==PAL_HIGH) ? 0 : (1<<7))
- | ((palReadPad(GPIOB, 12)==PAL_HIGH) ? 0 : (1<<8))
- | ((palReadPad(GPIOB, 11)==PAL_HIGH) ? 0 : (1<<9))
- | ((palReadPad(GPIOB, 10)==PAL_HIGH) ? 0 : (1<<10))
- | ((palReadPad(GPIOB, 1)==PAL_HIGH) ? 0 : (1<<11))
- | ((palReadPad(GPIOB, 0)==PAL_HIGH) ? 0 : (1<<12))
- | ((palReadPad(GPIOA, 7)==PAL_HIGH) ? 0 : (1<<13))
- | ((palReadPad(GPIOA, 6)==PAL_HIGH) ? 0 : (1<<14));
-}
-
-/* Row pin configuration
- */
-// Modified by Xydane
-static void unselect_rows(void){
- palSetPadMode(GPIOB, 9, PAL_MODE_INPUT);
- palSetPadMode(GPIOB, 8, PAL_MODE_INPUT);
- palSetPadMode(GPIOB, 7, PAL_MODE_INPUT);
- palSetPadMode(GPIOB, 6, PAL_MODE_INPUT);
- palSetPadMode(GPIOB, 5, PAL_MODE_INPUT);
- palSetPadMode(GPIOA, 4, PAL_MODE_INPUT);
-}
-
-// Modified by Xydane
-static void select_row(uint8_t row){
- (void)row;
- switch (row) {
- case 0:
- palSetPadMode(GPIOB, 9, PAL_MODE_OUTPUT_PUSHPULL);
- palClearPad(GPIOB, 9);
- break;
- case 1:
- palSetPadMode(GPIOB, 8, PAL_MODE_OUTPUT_PUSHPULL);
- palClearPad(GPIOB, 8);
- break;
- case 2:
- palSetPadMode(GPIOB, 7, PAL_MODE_OUTPUT_PUSHPULL);
- palClearPad(GPIOB, 7);
- break;
- case 3:
- palSetPadMode(GPIOB, 6, PAL_MODE_OUTPUT_PUSHPULL);
- palClearPad(GPIOB, 6);
- break;
- case 4:
- palSetPadMode(GPIOB, 5, PAL_MODE_OUTPUT_PUSHPULL);
- palClearPad(GPIOB, 5);
- break;
- case 5:
- palSetPadMode(GPIOA, 4, PAL_MODE_OUTPUT_PUSHPULL);
- palClearPad(GPIOA, 4);
- break;
- }
-}
diff --git a/keyboards/handwired/bluepill/bluepill70/mcuconf.h b/keyboards/handwired/bluepill/bluepill70/mcuconf.h
deleted file mode 100644
index 60d9931c35..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/mcuconf.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define STM32F103_MCUCONF
-
-/*
- * STM32F103 drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED FALSE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV1
-#define STM32_PLLMUL_VALUE 9
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_USB_CLOCK_REQUIRED TRUE
-#define STM32_USBPRE STM32_USBPRE_DIV1P5
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_RTCSEL STM32_RTCSEL_HSEDIV
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC1_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 TRUE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-
-/*
- * RTC driver system settings.
- */
-#define STM32_RTC_IRQ_PRIORITY 15
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 TRUE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
-
-#endif /* _MCUCONF_H_ */ \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/bluepill70/rules.mk b/keyboards/handwired/bluepill/bluepill70/rules.mk
deleted file mode 100644
index e89abca8ca..0000000000
--- a/keyboards/handwired/bluepill/bluepill70/rules.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# project specific files
-SRC = matrix.c \
- led.c
-
-# GENERIC STM32F103C8T6 board - stm32duino bootloader
-#OPT_DEFS = -DCORTEX_VTOR_INIT=0x2000
-#MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
-#BOARD = GENERIC_STM32_F103
-
-# GENERIC STM32F103C8T6 board - no bootloader (programmer over serial or SWD) // Modified by Xydane
-OPT_DEFS =
-MCU_LDSCRIPT = STM32F103x8
-BOARD = GENERIC_STM32_F103
-
-# MAPLE MINI
-# OPT_DEFS = -DCORTEX_VTOR_INIT=0x5000
-# MCU_LDSCRIPT = STM32F103xB_maplemini_bootloader
-# BOARD = MAPLEMINI_STM32_F103
-
-## chip/board settings
-# the next two should match the directories in
-# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
-MCU_FAMILY = STM32
-MCU_SERIES = STM32F1xx
-# linker script to use
-# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
-# or <this_dir>/ld/
-# startup code to use
-# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
-MCU_STARTUP = stm32f1xx
-# it should exist either in <chibios>/os/hal/boards/
-# or <this_dir>/boards
-# Cortex version
-# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
-MCU = cortex-m3
-# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
-ARMV = 7
-# If you want to be able to jump to bootloader from firmware on STM32 MCUs,
-# set the correct BOOTLOADER_ADDRESS. Either set it here, or define it in
-# ./bootloader_defs.h or in ./boards/<FOO>/bootloader_defs.h (if you have
-# a custom board definition that you plan to reuse).
-# If you're not setting it here, leave it commented out.
-# It is chip dependent, the correct number can be looked up here (page 175):
-# http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
-# This also requires a patch to chibios:
-# <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
-#STM32_BOOTLOADER_ADDRESS = 0x1FFFC800 \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.c b/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.c
deleted file mode 100644
index 2809c9d184..0000000000
--- a/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-/**
- * @brief PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- * This variable is used by the HAL when initializing the PAL driver.
- */
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-const PALConfig pal_default_config =
-{
- {VAL_GPIOAODR, VAL_GPIOACRL, VAL_GPIOACRH},
- {VAL_GPIOBODR, VAL_GPIOBCRL, VAL_GPIOBCRH},
- {VAL_GPIOCODR, VAL_GPIOCCRL, VAL_GPIOCCRH},
- {VAL_GPIODODR, VAL_GPIODCRL, VAL_GPIODCRH},
- {VAL_GPIOEODR, VAL_GPIOECRL, VAL_GPIOECRH},
-};
-#endif
-
-/*
- * Early initialization code.
- * This initialization must be performed just after stack setup and before
- * any other initialization.
- */
-void __early_init(void) {
-
- stm32_clock_init();
-}
-
-/*
- * Board-specific initialization code.
- */
-void boardInit(void) {
-}
diff --git a/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.h b/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.h
deleted file mode 100644
index 75bb848fd0..0000000000
--- a/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for a Generic STM32F103 board.
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_GENERIC_STM32_F103
-#define BOARD_NAME "Generic STM32F103x board"
-
-/*
- * Board frequencies.
- */
-#define STM32_LSECLK 32768
-#define STM32_HSECLK 8000000
-
-/*
- * MCU type, supported types are defined in ./os/hal/platforms/hal_lld.h.
- */
-#define STM32F103xB
-
-/*
- * IO pins assignments
- */
-
-/* on-board */
-
-#define GPIOC_LED 13
-#define GPIOD_OSC_IN 0
-#define GPIOD_OSC_OUT 1
-
-/* Backlighting */
-
-/*#define GPIOC_BACKLIGHT_PIN 15*/
-
-/* In case your board has a "USB enable" hardware
- controlled by a pin, define it here. (It could be just
- a 1.5k resistor connected to D+ line.)
-*/
-/*
-#define GPIOB_USB_DISC 10
-*/
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- *
- * The digits have the following meaning:
- * 0 - Analog input.
- * 1 - Push Pull output 10MHz.
- * 2 - Push Pull output 2MHz.
- * 3 - Push Pull output 50MHz.
- * 4 - Digital input.
- * 5 - Open Drain output 10MHz.
- * 6 - Open Drain output 2MHz.
- * 7 - Open Drain output 50MHz.
- * 8 - Digital input with PullUp or PullDown resistor depending on ODR.
- * 9 - Alternate Push Pull output 10MHz.
- * A - Alternate Push Pull output 2MHz.
- * B - Alternate Push Pull output 50MHz.
- * C - Reserved.
- * D - Alternate Open Drain output 10MHz.
- * E - Alternate Open Drain output 2MHz.
- * F - Alternate Open Drain output 50MHz.
- * Please refer to the STM32 Reference Manual for details.
- */
-
-/*
- * Port A setup.
- * Everything input with pull-up except:
- * PA2 - Alternate output (USART2 TX).
- * PA3 - Normal input (USART2 RX).
- * PA9 - Alternate output (USART1 TX).
- * PA10 - Normal input (USART1 RX).
- */
-#define VAL_GPIOACRL 0x88884B88 /* PA7...PA0 */
-#define VAL_GPIOACRH 0x888884B8 /* PA15...PA8 */
-#define VAL_GPIOAODR 0xFFFFFFFF
-
-/*
- * Port B setup.
- * Everything input with pull-up except:
- * PB10 - Push Pull output (USB switch).
- */
-#define VAL_GPIOBCRL 0x88888888 /* PB7...PB0 */
-#define VAL_GPIOBCRH 0x88888388 /* PB15...PB8 */
-#define VAL_GPIOBODR 0xFFFFFFFF
-
-/*
- * Port C setup.
- * Everything input with pull-up except:
- * PC13 - Push Pull output (LED).
- */
-#define VAL_GPIOCCRL 0x88888888 /* PC7...PC0 */
-#define VAL_GPIOCCRH 0x88388888 /* PC15...PC8 */
-#define VAL_GPIOCODR 0xFFFFFFFF
-
-/*
- * Port D setup.
- * Everything input with pull-up except:
- * PD0 - Normal input (XTAL).
- * PD1 - Normal input (XTAL).
- */
-#define VAL_GPIODCRL 0x88888844 /* PD7...PD0 */
-#define VAL_GPIODCRH 0x88888888 /* PD15...PD8 */
-#define VAL_GPIODODR 0xFFFFFFFF
-
-/*
- * Port E setup.
- * Everything input with pull-up except:
- */
-#define VAL_GPIOECRL 0x88888888 /* PE7...PE0 */
-#define VAL_GPIOECRH 0x88888888 /* PE15...PE8 */
-#define VAL_GPIOEODR 0xFFFFFFFF
-
-/*
- * USB bus activation macro, required by the USB driver.
- */
-/* The point is that most of the generic STM32F103* boards
- have a 1.5k resistor connected on one end to the D+ line
- and on the other end to some pin. Or even a slightly more
- complicated "USB enable" circuit, controlled by a pin.
- That should go here.
-
- However on some boards (e.g. one that I have), there's no
- such hardware. In which case it's better to not do anything.
-*/
-/*
-#define usb_lld_connect_bus(usbp) palClearPad(GPIOB, GPIOB_USB_DISC)
-*/
-#define usb_lld_connect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_INPUT);
-
-/*
- * USB bus de-activation macro, required by the USB driver.
- */
-/*
-#define usb_lld_disconnect_bus(usbp) palSetPad(GPIOB, GPIOB_USB_DISC)
-*/
-#define usb_lld_disconnect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_OUTPUT_PUSHPULL); palClearPad(GPIOA, 12);
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.mk b/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.mk
deleted file mode 100644
index 6b8b312fd9..0000000000
--- a/keyboards/handwired/bluepill/boards/GENERIC_STM32_F103/board.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# List of all the board related files.
-BOARDSRC = $(BOARD_PATH)/boards/GENERIC_STM32_F103/board.c
-
-# Required include directories
-BOARDINC = $(BOARD_PATH)/boards/GENERIC_STM32_F103
diff --git a/keyboards/handwired/bluepill/config.h b/keyboards/handwired/bluepill/config.h
deleted file mode 100644
index 6d583b9896..0000000000
--- a/keyboards/handwired/bluepill/config.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2015 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* Set 0 if debouncing isn't needed */
-// Modified by Xydane
-#define DEBOUNCE 1
-
-/* 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
-
-/* Backlighting include */
-/*#define BACKLIGHT_PIN 19
-#define BACKLIGHT_LEVELS 5
-#define BACKLIGHT_BREATHING
-#define BREATHING_PERIOD 6*/
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/keymaps/default/keymap.c b/keyboards/handwired/bluepill/keymaps/default/keymap.c
deleted file mode 100644
index 8a34930390..0000000000
--- a/keyboards/handwired/bluepill/keymaps/default/keymap.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// Define layer names
-#define _NORMAL 0
-#define _FNONE 1
-#define _FNTWO 2
-
-// Highly Modified by Xydane
-const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_NORMAL] = LAYOUT_seventy_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_PSCREEN,KC_HOME, KC_END, \
-KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DELETE, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, \
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, KC_SLASH,KC_PGDOWN, \
- KC_LSPO, XXXXXXX,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSPC,KC_UP, TT(2), \
- KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
-
- [_FNONE] = LAYOUT_seventy_ansi(
- KC_TRNS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P1, KC_P2, KC_P3, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_P0, KC_PDOT,KC_PENT, 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_TRNS ),
-
- [_FNTWO] = LAYOUT_seventy_ansi(
- KC_TRNS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE,KC_VOLD,KC_VOLU,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P1, KC_P2, KC_P3, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_P0, KC_PDOT,KC_PENT, 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_TRNS ),
-};
-
-/* Layer based ilumination, just binary */
-uint32_t layer_state_set_user(uint32_t state) {
- switch (biton32(state)) {
- case _FNONE:
- palSetPad(GPIOA, 0); //OFF Color A
- palClearPad(GPIOA, 1); //ON Color B
- break;
- case _FNTWO:
- palClearPad(GPIOA, 0); //ON Color A
- palClearPad(GPIOA, 1); //ON Color B
- break;
- default: // for any other layers, or the default layer
- palClearPad(GPIOA, 0); //ON Color A
- palSetPad(GPIOA, 1); //OFF Color B
- break;
- }
- return state;
-} \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/keymaps/iso/keymap.c b/keyboards/handwired/bluepill/keymaps/iso/keymap.c
deleted file mode 100644
index a6aedde7a3..0000000000
--- a/keyboards/handwired/bluepill/keymaps/iso/keymap.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// Define layer names
-#define _NORMAL 0
-#define _FNONE 1
-#define _FNTWO 2
-
-// Highly Modified by Xydane
-const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_NORMAL] = LAYOUT_seventy_iso(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCREEN,KC_HOME, KC_END, \
-KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DELETE, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, \
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS, KC_ENT,KC_PGDOWN, \
- KC_LSPO, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSPC,KC_UP, TT(2), \
- KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ),
-
- [_FNONE] = LAYOUT_seventy_iso(
- KC_TRNS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU, KC_TRNS,KC_TRNS,KC_NLCK, KC_CALC, KC_TRNS,KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P1, KC_P2, KC_P3, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_P0, KC_PDOT,KC_PENT, 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_TRNS ),
-
- [_FNTWO] = LAYOUT_seventy_iso(
- KC_TRNS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU, KC_TRNS,KC_TRNS,KC_NLCK, KC_CALC, KC_TRNS,KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P7, KC_P8, KC_P9, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_P1, KC_P2, KC_P3, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_P0, KC_PDOT,KC_PENT, 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_TRNS ),
-};
-
-/* Layer based ilumination, just binary */
-uint32_t layer_state_set_user(uint32_t state) {
- switch (biton32(state)) {
- case _FNONE:
- palSetPad(GPIOA, 0); //OFF Color A
- palClearPad(GPIOA, 1); //ON Color B
- break;
- case _FNTWO:
- palClearPad(GPIOA, 0); //ON Color A
- palClearPad(GPIOA, 1); //ON Color B
- break;
- default: // for any other layers, or the default layer
- palClearPad(GPIOA, 0); //ON Color A
- palSetPad(GPIOA, 1); //OFF Color B
- break;
- }
- return state;
-} \ No newline at end of file
diff --git a/keyboards/handwired/bluepill/ld/MKL26Z64.ld b/keyboards/handwired/bluepill/ld/MKL26Z64.ld
deleted file mode 100644
index c4ca8b874c..0000000000
--- a/keyboards/handwired/bluepill/ld/MKL26Z64.ld
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
- * (C) 2016 flabbergast <s3+flabbergast@sdfeu.org>
- *
- * 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.
- */
-
-/*
- * KL26Z64 memory setup.
- */
-MEMORY
-{
- flash0 : org = 0x00000000, len = 0x100
- flash1 : org = 0x00000400, len = 0x10
- flash2 : org = 0x00000410, len = 62k - 0x410
- flash3 : org = 0x0000F800, len = 2k
- flash4 : org = 0x00000000, len = 0
- flash5 : org = 0x00000000, len = 0
- flash6 : org = 0x00000000, len = 0
- flash7 : org = 0x00000000, len = 0
- ram0 : org = 0x1FFFF800, len = 8k
- ram1 : org = 0x00000000, len = 0
- ram2 : org = 0x00000000, len = 0
- ram3 : org = 0x00000000, len = 0
- ram4 : org = 0x00000000, len = 0
- ram5 : org = 0x00000000, len = 0
- ram6 : org = 0x00000000, len = 0
- ram7 : org = 0x00000000, len = 0
-}
-
-/* Flash region for the configuration bytes.*/
-SECTIONS
-{
- .cfmprotect : ALIGN(4) SUBALIGN(4)
- {
- KEEP(*(.cfmconfig))
- } > flash1
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash0);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash2);
-REGION_ALIAS("XTORS_FLASH_LMA", flash2);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash2);
-REGION_ALIAS("TEXT_FLASH_LMA", flash2);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash2);
-REGION_ALIAS("RODATA_FLASH_LMA", flash2);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash2);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash2);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-__eeprom_workarea_start__ = ORIGIN(flash3);
-__eeprom_workarea_size__ = LENGTH(flash3);
-__eeprom_workarea_end__ = __eeprom_workarea_start__ + __eeprom_workarea_size__;
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
diff --git a/keyboards/handwired/bluepill/ld/STM32F103x8_stm32duino_bootloader.ld b/keyboards/handwired/bluepill/ld/STM32F103x8_stm32duino_bootloader.ld
deleted file mode 100644
index f9bfe9c005..0000000000
--- a/keyboards/handwired/bluepill/ld/STM32F103x8_stm32duino_bootloader.ld
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * ST32F103xB memory setup for use with the maplemini bootloader.
- * You will have to
- * #define CORTEX_VTOR_INIT 0x5000
- * in your projects chconf.h
- */
-MEMORY
-{
- flash0 : org = 0x08002000, len = 128k - 0x2000
- flash1 : org = 0x00000000, len = 0
- flash2 : org = 0x00000000, len = 0
- flash3 : org = 0x00000000, len = 0
- flash4 : org = 0x00000000, len = 0
- flash5 : org = 0x00000000, len = 0
- flash6 : org = 0x00000000, len = 0
- flash7 : org = 0x00000000, len = 0
- ram0 : org = 0x20000000, len = 20k
- ram1 : org = 0x00000000, len = 0
- ram2 : org = 0x00000000, len = 0
- ram3 : org = 0x00000000, len = 0
- ram4 : org = 0x00000000, len = 0
- ram5 : org = 0x00000000, len = 0
- ram6 : org = 0x00000000, len = 0
- ram7 : org = 0x00000000, len = 0
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash0);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash0);
-REGION_ALIAS("XTORS_FLASH_LMA", flash0);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash0);
-REGION_ALIAS("TEXT_FLASH_LMA", flash0);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash0);
-REGION_ALIAS("RODATA_FLASH_LMA", flash0);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash0);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash0);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
diff --git a/keyboards/handwired/bluepill/readme.md b/keyboards/handwired/bluepill/readme.md
deleted file mode 100644
index b8ca96992c..0000000000
--- a/keyboards/handwired/bluepill/readme.md
+++ /dev/null
@@ -1,60 +0,0 @@
-
-# BluePill handwired
-
-Keyboards using a BluePill controller (generic Chinese STM32F103C8T6) and based on the [KC64 of Xydane](https://github.com/Xydane/qmk_firmware).
-
-Keyboard Maintainer: [FPazos](https://github.com/fpazos), but I hope to leave the project in better hands.
-Hardware Supported: Bluepill STM32F103C8T6
-Hardware Availability: Everywhere
-
-Make example for BluePill70 (after setting up your build environment):
-
- make handwired/bluepill/bluepill70: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).
-
-Read everything before using it.
-
-## Introduction
-
-First of all thanks to [Xydane](https://github.com/Xydane) at [GeekHack](https://geekhack.org/) for his advice and his repository, without it you couldn't be reading this.
-
-That's was an attempt to create a firmware using an STM32F103C8T6, and in a "future", also developing a revision for split keyboards. But...
-As I'm mainly a web developer I didn't even get to debug the controller, not to speak about ChibiOS. So I just structured everything, created a working 70% layout and leave the project to someone with more knowledge and patience.
-
-## Resistor fix
-
-If you want to use the Bluepill USB port, it's very likely that you need to solder a 1.8 kΩ between PA12 and 3.3V. That depends on the PC's motherboard but I needed, more info [here](https://wiki.stm32duino.com/index.php?title=Blue_Pill).
-
-## No bootloader
-
-Neither Xydane or I used the bootloader, the code for it is commented and you can use it if you want. I didn't achieve to run it and just used a serial programmer (FTDI, ST-LINK).
-
-## Adding layouts and revisions
-
-If you want to create new layouts just add them to the keymaps folder. If you prefer to develop a more complex revision just copy the bluepill70 folder, rename it and create a new keymap in /keymap.c (I tried to divide the project even more but it didn't worked).
-
-## Pinout
-
-That's the pinout;
-
- A5 A15 A10 A9 A8 B15 B14 B13 B12 B11 B10 B1 B0 A7 A6
- B9 ESC| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| F11| F12| PSC| PGU| PGD
- B8 GRA| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ' | ¡ | BCKS | DEL
- B7 TAB| Q | W | E | R | T | Y | U | I | O | P | ` | + | | HOM
- B6 CAP| A | S | D | F | G | H | J | K | L | Ñ | ´ | Ç | ENTER | END
- B5 LSI| < | Z | X | C | V | B | N | M | , | . | - | RSHIF | UP | FNT
- A4 LCT| WIN| ALT| ESPACE | ALG| FN | RCT| LEF| DOW| RIG
-
-And the wiring:
-ISO
-![Wiring](https://i.imgur.com/ZCaxVzs.jpg)
-ANSI
-![Wiring](https://i.imgur.com/dBUJCdD.jpg)
-
-It also uses:
-PC13: Caps Lock led.
-
-Backlight dual color leds, my version is for common anode that's more common, for leds with common anode just replace the palSetPad with palClearPad and viceversa.
-PA1: Backlight color A.
-PA0: Backlight color B.
diff --git a/keyboards/handwired/bluepill/rules.mk b/keyboards/handwired/bluepill/rules.mk
deleted file mode 100644
index 38bacae34d..0000000000
--- a/keyboards/handwired/bluepill/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
-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 = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
-CUSTOM_MATRIX = yes # Custom matrix file
-MOUSEKEY_ENABLE = no
-
-DEFAULT_FOLDER = handwired/bluepill/bluepill70 \ No newline at end of file
diff --git a/keyboards/handwired/ck4x4/bootloader_defs.h b/keyboards/handwired/ck4x4/bootloader_defs.h
deleted file mode 100644
index 02c48c4e6d..0000000000
--- a/keyboards/handwired/ck4x4/bootloader_defs.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Address for jumping to bootloader on STM32 chips. */
-/* It is chip dependent, the correct number can be looked up here (page 175):
- * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
- * This also requires a patch to chibios:
- * <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
- */
-#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800
diff --git a/keyboards/handwired/ck4x4/chconf.h b/keyboards/handwired/ck4x4/chconf.h
deleted file mode 100644
index 99fa8ce398..0000000000
--- a/keyboards/handwired/ck4x4/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/* Use __WFI in the idle thread for waiting. Does lower the power
- * consumption. */
-#define CORTEX_ENABLE_WFI_IDLE TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE FALSE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP FALSE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS FALSE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/keyboards/handwired/ck4x4/ck4x4.c b/keyboards/handwired/ck4x4/ck4x4.c
deleted file mode 100644
index 3091ce9c01..0000000000
--- a/keyboards/handwired/ck4x4/ck4x4.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "ck4x4.h"
diff --git a/keyboards/handwired/ck4x4/ck4x4.h b/keyboards/handwired/ck4x4/ck4x4.h
deleted file mode 100644
index 33c1b8dd99..0000000000
--- a/keyboards/handwired/ck4x4/ck4x4.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, k23, \
- k30, k31, k32, k33 \
-) {\
-{ k00, k01, k02, k03 }, \
-{ k10, k11, k12, k13 }, \
-{ k20, k21, k22, k23 }, \
-{ k30, k31, k32, k33 }, \
-}
diff --git a/keyboards/handwired/ck4x4/config.h b/keyboards/handwired/ck4x4/config.h
deleted file mode 100644
index 4ee5e8f4a8..0000000000
--- a/keyboards/handwired/ck4x4/config.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-Copyright 2015 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6464
-#define DEVICE_VER 0x0001
-/* in python2: list(u"whatever".encode('utf-16-le')) */
-/* at most 32 characters or the ugly hack in usb_main.c borks */
-#define MANUFACTURER QMK
-#define PRODUCT CK4x4
-#define DESCRIPTION Cannon Keys 4x4 MacroPad
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 4
-
-#define MATRIX_COL_PINS { B7, B8, B9, B10 }
-#define MATRIX_ROW_PINS { B3, B4, B5, B6 }
-#define DIODE_DIRECTION COL2ROW
-
-//LEDS A6, RGB B15
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
diff --git a/keyboards/handwired/ck4x4/halconf.h b/keyboards/handwired/ck4x4/halconf.h
deleted file mode 100644
index 8b9724b1a3..0000000000
--- a/keyboards/handwired/ck4x4/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 1
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/keyboards/handwired/ck4x4/keymaps/default/keymap.c b/keyboards/handwired/ck4x4/keymaps/default/keymap.c
deleted file mode 100644
index d3717754d8..0000000000
--- a/keyboards/handwired/ck4x4/keymaps/default/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t 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 \
- ), // test with KC_CAPS, KC_A, RESET
-};
-
-const uint16_t fn_actions[] = {
-};
diff --git a/keyboards/handwired/ck4x4/mcuconf.h b/keyboards/handwired/ck4x4/mcuconf.h
deleted file mode 100644
index faca3defdf..0000000000
--- a/keyboards/handwired/ck4x4/mcuconf.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * STM32F0xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 3...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F0xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_HSI14_ENABLED TRUE
-#define STM32_HSI48_ENABLED FALSE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED FALSE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 12
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE STM32_PPRE_DIV1
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_USBSW STM32_USBSW_HSI48
-#define STM32_CECSW STM32_CECSW_HSI
-#define STM32_I2C1SW STM32_I2C1SW_HSI
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 2
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 2
-#define STM32_GPT_TIM2_IRQ_PRIORITY 2
-#define STM32_GPT_TIM3_IRQ_PRIORITY 2
-#define STM32_GPT_TIM14_IRQ_PRIORITY 2
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 3
-#define STM32_I2C_I2C2_IRQ_PRIORITY 3
-#define STM32_I2C_USE_DMA TRUE
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 3
-#define STM32_ICU_TIM2_IRQ_PRIORITY 3
-#define STM32_ICU_TIM3_IRQ_PRIORITY 3
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 3
-#define STM32_PWM_TIM2_IRQ_PRIORITY 3
-#define STM32_PWM_TIM3_IRQ_PRIORITY 3
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 3
-#define STM32_SERIAL_USART2_PRIORITY 3
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 2
-#define STM32_SPI_SPI2_IRQ_PRIORITY 2
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 2
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 3
-#define STM32_UART_USART2_IRQ_PRIORITY 3
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 TRUE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 3
-
-#endif /* _MCUCONF_H_ */
diff --git a/keyboards/handwired/ck4x4/readme.md b/keyboards/handwired/ck4x4/readme.md
deleted file mode 100644
index d25a9c4df3..0000000000
--- a/keyboards/handwired/ck4x4/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# CK4x4
-
-Cannon Keys 4x4 Macro Pad
diff --git a/keyboards/handwired/ck4x4/rules.mk b/keyboards/handwired/ck4x4/rules.mk
deleted file mode 100644
index 7ed9022e65..0000000000
--- a/keyboards/handwired/ck4x4/rules.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-# project specific files
-# SRC = matrix.c \
-# led.c
-
-## chip/board settings
-# the next two should match the directories in
-# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
-MCU_FAMILY = STM32
-MCU_SERIES = STM32F0xx
-# linker script to use
-# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
-# or <this_dir>/ld/
-MCU_LDSCRIPT = STM32F072xB
-# startup code to use
-# is should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
-MCU_STARTUP = stm32f0xx
-# it should exist either in <chibios>/os/hal/boards/
-# or <this_dir>/boards
-BOARD = ST_STM32F072B_DISCOVERY
-# Cortex version
-# Teensy LC is cortex-m0; Teensy 3.x are cortex-m4
-MCU = cortex-m0
-# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
-ARMV = 6
-# If you want to be able to jump to bootloader from firmware on STM32 MCUs,
-# set the correct BOOTLOADER_ADDRESS. Either set it here, or define it in
-# ./bootloader_defs.h or in ./boards/<FOO>/bootloader_defs.h (if you have
-# a custom board definition that you plan to reuse).
-# If you're not setting it here, leave it commented out.
-# It is chip dependent, the correct number can be looked up here (page 175):
-# http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
-# This also requires a patch to chibios:
-# <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
-#STM32_BOOTLOADER_ADDRESS = 0x1FFFC800
-
-# Build Options
-# comment out to disable the options.
-#
-
-#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes # USB Nkey Rollover
-CUSTOM_MATRIX = no # Custom matrix file
-
-DEFAULT_FOLDER = handwired/ck4x4
diff --git a/keyboards/handwired/cmd60/cmd60.c b/keyboards/handwired/cmd60/cmd60.c
deleted file mode 100644
index 91bbbd453b..0000000000
--- a/keyboards/handwired/cmd60/cmd60.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "cmd60.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/cmd60/cmd60.h b/keyboards/handwired/cmd60/cmd60.h
deleted file mode 100644
index 2e0baa9997..0000000000
--- a/keyboards/handwired/cmd60/cmd60.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef CMD60_H
-#define CMD60_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, \
- K40, K41, K42, K45, K4A, K4B, K4C, K4D \
- ) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, KC_NO, K3D }, \
- { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
-}
-
-#endif
diff --git a/keyboards/handwired/cmd60/config.h b/keyboards/handwired/cmd60/config.h
deleted file mode 100644
index e95cac1e49..0000000000
--- a/keyboards/handwired/cmd60/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER cmd
-#define PRODUCT CMD60
-#define DESCRIPTION Advanced Programming Keeb Layout
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F0, F4, F5, F6, F7 }
-#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3, C6, D7, B4, B5, B6 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/cmd60/info.json b/keyboards/handwired/cmd60/info.json
deleted file mode 100644
index 8d555dc078..0000000000
--- a/keyboards/handwired/cmd60/info.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "keyboard_name": "CMD60",
- "url": "",
- "maintainer": "qmk",
- "width": 15,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"`", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2},
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {"label":"R", "x":4.5, "y":1},
- {"label":"T", "x":5.5, "y":1},
- {"label":"Y", "x":6.5, "y":1},
- {"label":"U", "x":7.5, "y":1},
- {"label":"I", "x":8.5, "y":1},
- {"label":"O", "x":9.5, "y":1},
- {"label":"P", "x":10.5, "y":1},
- {"label":"[", "x":11.5, "y":1},
- {"label":"]", "x":12.5, "y":1},
- {"label":"\\", "x":13.5, "y":1, "w":1.5},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
- {"label":"H", "x":6.75, "y":2},
- {"label":"J", "x":7.75, "y":2},
- {"label":"K", "x":8.75, "y":2},
- {"label":"L", "x":9.75, "y":2},
- {"label":";", "x":10.75, "y":2},
- {"label":"'", "x":11.75, "y":2},
- {"label":"Enter", "x":12.75, "y":2, "w":2.25},
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.25, "y":3},
- {"label":"C", "x":4.25, "y":3},
- {"label":"V", "x":5.25, "y":3},
- {"label":"B", "x":6.25, "y":3},
- {"label":"N", "x":7.25, "y":3},
- {"label":"M", "x":8.25, "y":3},
- {"label":",", "x":9.25, "y":3},
- {"label":".", "x":10.25, "y":3},
- {"label":"/", "x":11.25, "y":3},
- {"label":"Shift", "x":12.25, "y":3, "w":2.75},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"GUI", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"GUI", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/cmd60/keymaps/default/keymap.c b/keyboards/handwired/cmd60/keymaps/default/keymap.c
deleted file mode 100644
index 448d81dc16..0000000000
--- a/keyboards/handwired/cmd60/keymaps/default/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include QMK_KEYBOARD_H
-
-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) \
- ),
- [1] = LAYOUT( /* CMD60 - GameMode */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- 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, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
- [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, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
- [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, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
- ),
- [5] = LAYOUT( /* CMD60 - Media */
- 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/readme.md b/keyboards/handwired/cmd60/readme.md
deleted file mode 100644
index 933ac16d59..0000000000
--- a/keyboards/handwired/cmd60/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# CMD60
-
-![CMD60](https://i.imgur.com/r9LA6Lx.jpg)
-
-This layout has been designed to optimize use of the left-hand, and it focussed specifically on programmers who work
-with text editors like SublimeText and Atom. It utilizes the power of Space_fn, and features a caps lock swap for Fn2
-and enter key on tap. These features allow you to keep your right hand on the mouse more and should enable you to
-achieve a higher level of productivity if you take the time to learn its function layers.
-
-[Build Log](https://redd.it/4mkuu8)
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: CMD60 handwired, Teensy 2.0
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/cmd60: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/cmd60/rules.mk b/keyboards/handwired/cmd60/rules.mk
deleted file mode 100644
index d980716eae..0000000000
--- a/keyboards/handwired/cmd60/rules.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-
-
diff --git a/keyboards/handwired/dactyl/config.h b/keyboards/handwired/dactyl/config.h
deleted file mode 100644
index 8d42c0ae47..0000000000
--- a/keyboards/handwired/dactyl/config.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
-Copyright 2017 Erin Call <hello@erincall.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef DACTYL_CONFIG_H
-#define DACTYL_CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1308
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Adereth
-#define PRODUCT Dactyl
-#define DESCRIPTION An ortholinear, split, 3D-curved keyboard with thumb clusters.
-
-#define DIODE_DIRECTION ROW2COL
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 12
-#define COL_EXPANDED { true, true, true, true, true, true, false, false, false, false, false, false}
-#define MATRIX_ONBOARD_ROW_PINS { F0, F1, F4, F5, F6, F7 }
-#define MATRIX_ONBOARD_COL_PINS { 0, 0, 0, 0, 0, 0, B1, B2, B3, D2, D3, C6 }
-#define EXPANDER_COL_REGISTER 0
-#define MATRIX_EXPANDER_COL_PINS {0, 1, 2, 3, 4, 5}
-#define MATRIX_EXPANDER_ROW_PINS {0, 1, 2, 3, 4, 5}
-
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
-
-#define TAPPING_TOGGLE 1
-
-#define TAPPING_TERM 200
-#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
-)
-
-/* fix space cadet rollover issue */
-#define DISABLE_SPACE_CADET_ROLLOVER
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 15
-
-#define USB_MAX_POWER_CONSUMPTION 500
-
-#endif
diff --git a/keyboards/handwired/dactyl/dactyl.c b/keyboards/handwired/dactyl/dactyl.c
deleted file mode 100644
index 81b9dce0f9..0000000000
--- a/keyboards/handwired/dactyl/dactyl.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "dactyl.h"
-#include "i2cmaster.h"
-
-#ifdef SWAP_HANDS_ENABLE
-__attribute__ ((weak))
-// swap-hands action needs a matrix to define the swap
-const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
- {{0,11}, {0,10}, {0,9}, {0,8}, {0,7}, {0,6}, {0,5}, {0,4}, {0,3}, {0,2}, {0,1}, {0,0}},
- {{1,11}, {1,11}, {1,9}, {1,8}, {1,7}, {1,6}, {1,5}, {1,4}, {1,3}, {1,2}, {1,1}, {1,0}},
- {{2,11}, {2,12}, {2,9}, {2,8}, {2,7}, {2,6}, {2,5}, {2,4}, {2,3}, {2,2}, {2,1}, {2,0}},
- {{3,11}, {3,13}, {3,9}, {3,8}, {3,7}, {3,6}, {3,5}, {3,4}, {3,3}, {3,2}, {3,1}, {3,0}},
- {{4,11}, {4,14}, {4,9}, {4,8}, {4,7}, {4,6}, {4,5}, {4,4}, {4,3}, {4,2}, {4,1}, {4,0}},
- {{5,11}, {5,15}, {5,9}, {5,8}, {5,7}, {5,6}, {5,5}, {5,4}, {5,3}, {5,2}, {5,1}, {5,0}},
-};
-#endif
diff --git a/keyboards/handwired/dactyl/dactyl.h b/keyboards/handwired/dactyl/dactyl.h
deleted file mode 100644
index d4c38dcfb6..0000000000
--- a/keyboards/handwired/dactyl/dactyl.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef DACTYL_H
-#define DACTYL_H
-
-#include "quantum.h"
-#include <stdint.h>
-#include <stdbool.h>
-#include "i2cmaster.h"
-#include <util/delay.h>
-
-#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))
-#define CPU_16MHz 0x00
-
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
-#define IODIRA 0x00 // i/o direction register
-#define IODIRB 0x01
-#define GPPUA 0x0C // GPIO pull-up resistor register
-#define GPPUB 0x0D
-#define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT)
-#define GPIOB 0x13
-#define OLATA 0x14 // output latch register
-#define OLATB 0x15
-
-extern uint8_t expander_status;
-extern uint8_t expander_input_pin_mask;
-extern bool i2c_initialized;
-
-void init_dactyl(void);
-void init_expander(void);
-
-/*
- * LEFT HAND: LINES 38-45
- * RIGHT HAND: LINES 47-54
- */
-#define LAYOUT_dactyl( \
- \
- 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, \
- k55,k50, \
- k54, \
- k53,k52,k51, \
- \
- k06,k07,k08,k09,k0A,k0B, \
- k16,k17,k18,k19,k1A,k1B, \
- k26,k27,k28,k29,k2A,k2B, \
- k36,k37,k38,k39,k3A,k3B, \
- k47,k48,k49,k4A,k4B, \
- k5B,k56, \
- k57, \
- k5A,k59,k58 ) \
- \
- /* matrix positions */ \
- { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B }, \
- { k40, k41, k42, k43, k44, KC_NO, KC_NO, k47, k48, k49, k4A, k4B }, \
- { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k5B }, \
- }
-
-
-#endif
diff --git a/keyboards/handwired/dactyl/i2cmaster.h b/keyboards/handwired/dactyl/i2cmaster.h
deleted file mode 100644
index 3917b9e6c0..0000000000
--- a/keyboards/handwired/dactyl/i2cmaster.h
+++ /dev/null
@@ -1,178 +0,0 @@
-#ifndef _I2CMASTER_H
-#define _I2CMASTER_H 1
-/*************************************************************************
-* Title: C include file for the I2C master interface
-* (i2cmaster.S or twimaster.c)
-* Author: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury
-* File: $Id: i2cmaster.h,v 1.10 2005/03/06 22:39:57 Peter Exp $
-* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3
-* Target: any AVR device
-* Usage: see Doxygen manual
-**************************************************************************/
-
-#ifdef DOXYGEN
-/**
- @defgroup pfleury_ic2master I2C Master library
- @code #include <i2cmaster.h> @endcode
-
- @brief I2C (TWI) Master Software Library
-
- Basic routines for communicating with I2C slave devices. This single master
- implementation is limited to one bus master on the I2C bus.
-
- This I2c library is implemented as a compact assembler software implementation of the I2C protocol
- which runs on any AVR (i2cmaster.S) and as a TWI hardware interface for all AVR with built-in TWI hardware (twimaster.c).
- Since the API for these two implementations is exactly the same, an application can be linked either against the
- software I2C implementation or the hardware I2C implementation.
-
- Use 4.7k pull-up resistor on the SDA and SCL pin.
-
- Adapt the SCL and SDA port and pin definitions and eventually the delay routine in the module
- i2cmaster.S to your target when using the software I2C implementation !
-
- Adjust the CPU clock frequence F_CPU in twimaster.c or in the Makfile when using the TWI hardware implementaion.
-
- @note
- The module i2cmaster.S is based on the Atmel Application Note AVR300, corrected and adapted
- to GNU assembler and AVR-GCC C call interface.
- Replaced the incorrect quarter period delays found in AVR300 with
- half period delays.
-
- @author Peter Fleury pfleury@gmx.ch http://jump.to/fleury
-
- @par API Usage Example
- The following code shows typical usage of this library, see example test_i2cmaster.c
-
- @code
-
- #include <i2cmaster.h>
-
-
- #define Dev24C02 0xA2 // device address of EEPROM 24C02, see datasheet
-
- int main(void)
- {
- unsigned char ret;
-
- i2c_init(); // initialize I2C library
-
- // write 0x75 to EEPROM address 5 (Byte Write)
- i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode
- i2c_write(0x05); // write address = 5
- i2c_write(0x75); // write value 0x75 to EEPROM
- i2c_stop(); // set stop conditon = release bus
-
-
- // read previously written value back from EEPROM address 5
- i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode
-
- i2c_write(0x05); // write address = 5
- i2c_rep_start(Dev24C02+I2C_READ); // set device address and read mode
-
- ret = i2c_readNak(); // read one byte from EEPROM
- i2c_stop();
-
- for(;;);
- }
- @endcode
-
-*/
-#endif /* DOXYGEN */
-
-/**@{*/
-
-#if (__GNUC__ * 100 + __GNUC_MINOR__) < 304
-#error "This library requires AVR-GCC 3.4 or later, update to newer AVR-GCC compiler !"
-#endif
-
-#include <avr/io.h>
-
-/** defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start() */
-#define I2C_READ 1
-
-/** defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start() */
-#define I2C_WRITE 0
-
-
-/**
- @brief initialize the I2C master interace. Need to be called only once
- @param void
- @return none
- */
-extern void i2c_init(void);
-
-
-/**
- @brief Terminates the data transfer and releases the I2C bus
- @param void
- @return none
- */
-extern void i2c_stop(void);
-
-
-/**
- @brief Issues a start condition and sends address and transfer direction
-
- @param addr address and transfer direction of I2C device
- @retval 0 device accessible
- @retval 1 failed to access device
- */
-extern unsigned char i2c_start(unsigned char addr);
-
-
-/**
- @brief Issues a repeated start condition and sends address and transfer direction
-
- @param addr address and transfer direction of I2C device
- @retval 0 device accessible
- @retval 1 failed to access device
- */
-extern unsigned char i2c_rep_start(unsigned char addr);
-
-
-/**
- @brief Issues a start condition and sends address and transfer direction
-
- If device is busy, use ack polling to wait until device ready
- @param addr address and transfer direction of I2C device
- @return none
- */
-extern void i2c_start_wait(unsigned char addr);
-
-
-/**
- @brief Send one byte to I2C device
- @param data byte to be transfered
- @retval 0 write successful
- @retval 1 write failed
- */
-extern unsigned char i2c_write(unsigned char data);
-
-
-/**
- @brief read one byte from the I2C device, request more data from device
- @return byte read from I2C device
- */
-extern unsigned char i2c_readAck(void);
-
-/**
- @brief read one byte from the I2C device, read is followed by a stop condition
- @return byte read from I2C device
- */
-extern unsigned char i2c_readNak(void);
-
-/**
- @brief read one byte from the I2C device
-
- Implemented as a macro, which calls either i2c_readAck or i2c_readNak
-
- @param ack 1 send ack, request more data from device<br>
- 0 send nak, read is followed by a stop condition
- @return byte read from I2C device
- */
-extern unsigned char i2c_read(unsigned char ack);
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
-
-
-/**@}*/
-#endif
diff --git a/keyboards/handwired/dactyl/info.json b/keyboards/handwired/dactyl/info.json
deleted file mode 100644
index 37d2e025e2..0000000000
--- a/keyboards/handwired/dactyl/info.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "keyboard_name": "Dactyl",
- "url": "",
- "maintainer": "qmk",
- "width": 17,
- "height": 8,
- "layouts": {
- "LAYOUT_dactyl": {
- "key_count": 70,
- "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k14", "x":4, "y":1}, {"label":"k15", "x":5, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k23", "x":3, "y":2}, {"label":"k24", "x":4, "y":2}, {"label":"k25", "x":5, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k33", "x":3, "y":3}, {"label":"k34", "x":4, "y":3}, {"label":"k35", "x":5, "y":3}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k43", "x":3, "y":4}, {"label":"k44", "x":4, "y":4}, {"label":"k55", "x":6, "y":5}, {"label":"k50", "x":7, "y":5}, {"label":"k54", "x":7, "y":6}, {"label":"k53", "x":5, "y":6, "h":2}, {"label":"k52", "x":6, "y":6, "h":2}, {"label":"k51", "x":7, "y":7}, {"label":"k06", "x":11, "y":0}, {"label":"k07", "x":12, "y":0}, {"label":"k08", "x":13, "y":0}, {"label":"k09", "x":14, "y":0}, {"label":"k0A", "x":15, "y":0}, {"label":"k0B", "x":16, "y":0}, {"label":"k16", "x":11, "y":1}, {"label":"k17", "x":12, "y":1}, {"label":"k18", "x":13, "y":1}, {"label":"k19", "x":14, "y":1}, {"label":"k1A", "x":15, "y":1}, {"label":"k1B", "x":16, "y":1}, {"label":"k26", "x":11, "y":2}, {"label":"k27", "x":12, "y":2}, {"label":"k28", "x":13, "y":2}, {"label":"k29", "x":14, "y":2}, {"label":"k2A", "x":15, "y":2}, {"label":"k2B", "x":16, "y":2}, {"label":"k36", "x":11, "y":3}, {"label":"k37", "x":12, "y":3}, {"label":"k38", "x":13, "y":3}, {"label":"k39", "x":14, "y":3}, {"label":"k3A", "x":15, "y":3}, {"label":"k3B", "x":16, "y":3}, {"label":"k47", "x":12, "y":4}, {"label":"k48", "x":13, "y":4}, {"label":"k49", "x":14, "y":4}, {"label":"k4A", "x":15, "y":4}, {"label":"k4B", "x":16, "y":4}, {"label":"k5B", "x":9, "y":5}, {"label":"k56", "x":10, "y":5}, {"label":"k57", "x":9, "y":6}, {"label":"k5A", "x":9, "y":7}, {"label":"k59", "x":10, "y":6, "h":2}, {"label":"k58", "x":11, "y":6, "h":2}]
- }
- }
-}
diff --git a/keyboards/handwired/dactyl/keymaps/default/keymap.c b/keyboards/handwired/dactyl/keymaps/default/keymap.c
deleted file mode 100644
index db666f43fe..0000000000
--- a/keyboards/handwired/dactyl/keymaps/default/keymap.c
+++ /dev/null
@@ -1,177 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-#define BASE 0 // default layer
-#define SYMB 1 // symbols
-#define MDIA 2 // media keys
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // ensure these codes start after the highest keycode defined in Quantum
- VRSN,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,-----------------------------------------. ,-----------------------------------------.
- * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Del | Q | W | E | R | T | | Y | U | I | O | P | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | BkSp | A | S | D | F | G | | H | J | K | L |; / L2|'/Cmd |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift|Z/Ctrl| X | C | V | B | | N | M | , | . |//Ctrl|RShift|
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | App | LGui | | Alt | ^/Esc|
- * ,------|------|------| |------+------+------.
- * | | | Home | | PgUp | | |
- * | Space|Backsp|------| |------| Tab |Enter |
- * | |ace | End | | PgDn | | |
- * `--------------------' `--------------------'
- */
-[BASE] = LAYOUT_dactyl( // layer 0 : default
- // left hand
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T,
- KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B,
- LT(SYMB,KC_GRV), KC_QUOT, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
- ALT_T(KC_APP), KC_LGUI,
- KC_HOME,
- KC_SPC, KC_BSPC, KC_END,
- // right hand
- KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(KC_QUOT),
- KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), KC_RSFT,
- KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
- KC_RALT, CTL_T(KC_ESC),
- KC_PGUP,
- KC_PGDN, KC_TAB, KC_ENT
- ),
-/* Keymap 1: Symbol Layer
- *
- * ,-----------------------------------------. ,-----------------------------------------.
- * |Versn | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | ! | @ | { | } | | | | Up | 7 | 8 | 9 | * | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | # | $ | ( | ) | ` | | Down | 4 | 5 | 6 | + | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | % | ^ | [ | ] | ~ | | & | 1 | 2 | 3 | \ | |
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * |RESET | | | | | | | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_dactyl(
- // left hand
- VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
- KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
- KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
- KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
- KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
- KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/* Keymap 2: Media and mouse keys
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | MsUp | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MsLeft|MsDown|MsRght| | | | | | | | Play |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | Prev | Next | | |
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * | | | | Lclk | Rclk | | VolUp| VolDn| Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | |Brwser|
- * | | |------| |------| |Back |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- */
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_dactyl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK
-),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- break;
- case 1:
- if (record->event.pressed) { // For resetting EEPROM
- eeconfig_init();
- }
- break;
- }
- return MACRO_NONE;
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- }
- return true;
-}
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
-
-};
-
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {};
diff --git a/keyboards/handwired/dactyl/keymaps/default/readme.md b/keyboards/handwired/dactyl/keymaps/default/readme.md
deleted file mode 100644
index e393e396e3..0000000000
--- a/keyboards/handwired/dactyl/keymaps/default/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Dactyl Default Configuration
-
-## Changelog
-
-* Nov 2017:
- * Copied and adapted from the Ergodox EZ equivalent
- * Notable differences:
- - Don't try to have the columns that don't exist, naturally
- - Removed RGB keys, since there are no RGB LEDs in the Dactyl (as designed, at least)
-
diff --git a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c
deleted file mode 100644
index 7c44f78a65..0000000000
--- a/keyboards/handwired/dactyl/keymaps/dvorak/keymap.c
+++ /dev/null
@@ -1,177 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-#define BASE 0 // default layer
-#define SYMB 1 // symbols
-#define MDIA 2 // media keys
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // ensure these codes start after the highest keycode defined in Quantum
- VRSN,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,-----------------------------------------. ,-----------------------------------------.
- * | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Del | '" | , | . | P | Y | | F | G | C | R | L | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | BkSp | A | O | E | U | I | | D | H | T | N | S/L2 |//Cmd |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift|;/Ctrl| Q | J | K | X | | B | M | W | V |Z/Ctrl|RShift|
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * |Grv/L1| = |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | App | LGui | | Alt | ^/Esc|
- * ,------|------|------| |------+------+------.
- * | | | Home | | PgUp | | |
- * | Space|Backsp|------| |------| Tab |Enter |
- * | |ace | End | | PgDn | | |
- * `--------------------' `--------------------'
- */
-[BASE] = LAYOUT_dactyl( // layer 0 : default
- // left hand
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y,
- KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I,
- KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X,
- LT(SYMB,KC_GRV), KC_EQL, LALT(KC_LSFT), KC_LEFT, KC_RGHT,
- ALT_T(KC_APP), KC_LGUI,
- KC_HOME,
- KC_SPC, KC_BSPC, KC_END,
- // right hand
- KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
- KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), GUI_T(KC_SLSH),
- KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT,
- KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, TT(SYMB),
- KC_RALT, CTL_T(KC_ESC),
- KC_PGUP,
- KC_PGDN, KC_TAB, KC_ENT
- ),
-/* Keymap 1: Symbol Layer
- *
- * ,-----------------------------------------. ,-----------------------------------------.
- * |Versn | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | ! | @ | { | } | | | | Up | 7 | 8 | 9 | * | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | # | $ | ( | ) | ` | | Down | 4 | 5 | 6 | + | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | % | ^ | [ | ] | ~ | | & | 1 | 2 | 3 | \ | |
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * |RESET | | | | | | | . | 0 | = | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[SYMB] = LAYOUT_dactyl(
- // left hand
- VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
- KC_TRNS, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
- KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12,
- KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS,
- KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS,
- KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/* Keymap 2: Media and mouse keys
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | MsUp | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | |MsLeft|MsDown|MsRght| | | | | | | | Play |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | Prev | Next | | |
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * | | | | Lclk | Rclk | | VolUp| VolDn| Mute | | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | |Brwser|
- * | | |------| |------| |Back |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- */
-// MEDIA AND MOUSE
-[MDIA] = LAYOUT_dactyl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_WBAK
-),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- break;
- case 1:
- if (record->event.pressed) { // For resetting EEPROM
- eeconfig_init();
- }
- break;
- }
- return MACRO_NONE;
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case VRSN:
- if (record->event.pressed) {
- SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
- }
- return false;
- break;
- }
- return true;
-}
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
-
-};
-
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {};
diff --git a/keyboards/handwired/dactyl/keymaps/dvorak/readme.md b/keyboards/handwired/dactyl/keymaps/dvorak/readme.md
deleted file mode 100644
index 42ec3cd4f6..0000000000
--- a/keyboards/handwired/dactyl/keymaps/dvorak/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Dactyl Dvorak keymap
-
-Modifiers and layers 1+ are the same as in the default layout.
-Only the layer-0 dvorak-relevant keys are different.
-
-## Changelog
-
-* Nov 2017:
- * Copied and adapted from the default keymap.
diff --git a/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c b/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c
deleted file mode 100644
index e439af3e54..0000000000
--- a/keyboards/handwired/dactyl/keymaps/erincalling/keymap.c
+++ /dev/null
@@ -1,160 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-#define BASE 0 // default layer
-#define CONT 1 // control layer
-#define QWER 2 // qwerty layer
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE, // ensure these codes start after the highest keycode defined in Quantum
- COLON_EQ,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Keymap 0: Basic layer
- *
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | '" | , | . | P | Y | | F | G | C | R | L | / |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | := | A | O | E | U | I | | D | H | T | N | S | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| ; | Q | J | K | X | | B | M | W | V | Z |RShift|
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * | Home | ` | = | Left | Right| | Up | Down | [ | ] | End |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | LCtl | LAlt | | RCtl | Ralt |
- * ,------|------|------| |------+------+------.
- * | | | L1 | | L1 | | |
- * | Back |Delete|------| |------|Enter |Space |
- * |Space | | LGui | | RGui | | |
- * `--------------------' `--------------------'
- */
-[BASE] = LAYOUT_dactyl( // layer 0 : default
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y,
- COLON_EQ, KC_A, KC_O, KC_E, KC_U, KC_I,
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X,
- KC_HOME, KC_GRV, KC_EQL, KC_LEFT, KC_RGHT,
- KC_LCTRL, KC_LALT,
- MO(CONT),
- KC_BSPC, KC_DEL, KC_LGUI,
- // right hand
- KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
- KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_END,
- KC_RALT, KC_RCTL,
- MO(CONT),
- KC_RGUI, KC_ENT, KC_SPACE
- ),
-/* Keymap 1: Control layer (media keys, Fkeys, numpad)
- *
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | RESET|
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | Mute | VolD | VolU | | | | 7 | 8 | 9 | + | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | Prev |PPause| Next | | | | 4 | 5 | 6 | = | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | 1 | 2 | 3 | , | |
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * |PageUp| | | | | | 0 | 0 | . | |PageDn|
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- */
-// SYMBOLS
-[CONT] = LAYOUT_dactyl(
- // left hand
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
- KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS,
- TG(QWER), KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, 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,
- // right hand
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RESET,
- KC_TRNS, KC_7, KC_8, KC_9, KC_KP_PLUS, KC_TRNS,
- KC_TRNS, KC_4, KC_5, KC_6, KC_EQL, KC_TRNS,
- KC_TRNS, KC_1, KC_2, KC_3, KC_COMM, KC_TRNS,
- KC_0, KC_0, KC_DOT, KC_TRNS, KC_PGDN,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-/* Keymap 2: QWERTY overlay
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | [ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Q | W | E | R | T | | Y | U | I | O | P | ] |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | A | S | D | F | G | | H | J | K | L | ; | '" |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Z | X | C | V | B | | N | M | , | . | / | |
- * |------+------+------+------+------+------' `------+------+------+------+------+------|
- * | | | | | | | | | - | \ | |
- * `----------------------------------' `----------------------------------'
- * ,-------------. ,-------------.
- * | | | | | |
- * ,------|------|------| |------+------+------.
- * | | | | | | | |
- * | | |------| |------| | |
- * | | | | | | | |
- * `--------------------' `--------------------'
- *
- */
-// QWERTY
-[QWER] = LAYOUT_dactyl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T,
- KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- // right hand
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC,
- KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC,
- KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MINS, KC_BSLS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
-),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- case COLON_EQ:
- SEND_STRING(":=");
- return false;
- break;
- }
- }
-
- return true;
-}
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
-
-};
-
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {};
diff --git a/keyboards/handwired/dactyl/keymaps/erincalling/readme.md b/keyboards/handwired/dactyl/keymaps/erincalling/readme.md
deleted file mode 100644
index 7528ed07eb..0000000000
--- a/keyboards/handwired/dactyl/keymaps/erincalling/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Erincalling Dactyl keymap
-
-## Changelog
-
-* Nov 2017:
- * Ported and adapted from the ergodox-firmware layout I'd been using
diff --git a/keyboards/handwired/dactyl/matrix.c b/keyboards/handwired/dactyl/matrix.c
deleted file mode 100644
index f63cf1188f..0000000000
--- a/keyboards/handwired/dactyl/matrix.c
+++ /dev/null
@@ -1,542 +0,0 @@
-/*
-Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
-Copyright 2017 Erin Call <hello@erincall.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include <stdint.h>
-#include <stdbool.h>
-#include <avr/io.h>
-#include "wait.h"
-#include "action_layer.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "dactyl.h"
-#include "i2cmaster.h"
-#include "timer.h"
-
-
-/* Set 0 if debouncing isn't needed */
-
-#ifndef DEBOUNCING_DELAY
-# define DEBOUNCING_DELAY 5
-#endif
-
-#if (DEBOUNCING_DELAY > 0)
- static uint16_t debouncing_time;
- static bool debouncing = false;
-#endif
-
-#ifdef MATRIX_MASKED
- extern const matrix_row_t matrix_mask[];
-#endif
-
-#if (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
-static const uint8_t onboard_row_pins[MATRIX_ROWS] = MATRIX_ONBOARD_ROW_PINS;
-static const uint8_t onboard_col_pins[MATRIX_COLS] = MATRIX_ONBOARD_COL_PINS;
-static const bool col_expanded[MATRIX_COLS] = COL_EXPANDED;
-#endif
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-#if (DIODE_DIRECTION == COL2ROW)
- static const uint8_t expander_col_pins[MATRIX_COLS] = MATRIX_EXPANDER_COL_PINS;
- static void init_cols(void);
- static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row);
- static void unselect_rows(void);
- static void select_row(uint8_t row);
- static void unselect_row(uint8_t row);
-#elif (DIODE_DIRECTION == ROW2COL)
- static const uint8_t expander_row_pins[MATRIX_ROWS] = MATRIX_EXPANDER_ROW_PINS;
- static void init_rows(void);
- static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col);
- static void unselect_cols(void);
- static void select_col(uint8_t col);
- static void unselect_col(uint8_t col);
-#endif
-
-static uint8_t expander_reset_loop;
-uint8_t expander_status;
-uint8_t expander_input_pin_mask;
-bool i2c_initialized = false;
-
-#ifdef DEBUG_MATRIX_SCAN_RATE
-uint32_t matrix_timer;
-uint32_t matrix_scan_count;
-#endif
-
-#define ROW_SHIFTER ((matrix_row_t)1)
-#if (DIODE_DIRECTION == COL2ROW)
-// bitmask to ensure the row state from the expander only applies to its columns
-#define EXPANDER_MASK ((matrix_row_t)0b00111111)
-#endif
-
-__attribute__ ((weak))
-void matrix_init_user(void) {}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {}
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-inline
-uint8_t matrix_rows(void)
-{
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void)
-{
- return MATRIX_COLS;
-}
-
-void matrix_init(void)
-{
- init_expander();
-
-#if (DIODE_DIRECTION == COL2ROW)
- unselect_rows();
- init_cols();
-#elif (DIODE_DIRECTION == ROW2COL)
- unselect_cols();
- init_rows();
-#endif
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
-
-#ifdef DEBUG_MATRIX_SCAN_RATE
- matrix_timer = timer_read32();
- matrix_scan_count = 0;
-#endif
-
- matrix_init_quantum();
-}
-
-void init_expander(void) {
- if (! i2c_initialized) {
- i2c_init();
- wait_us(1000000);
- }
-
- if (! expander_input_pin_mask) {
-#if (DIODE_DIRECTION == COL2ROW)
- for (int col = 0; col < MATRIX_COLS; col++) {
- if (col_expanded[col]) {
- expander_input_pin_mask |= (1 << expander_col_pins[col]);
- }
- }
-#elif (DIODE_DIRECTION == ROW2COL)
- for (int row = 0; row < MATRIX_ROWS; row++) {
- expander_input_pin_mask |= (1 << expander_row_pins[row]);
- }
-#endif
- }
-
- expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out;
- expander_status = i2c_write(IODIRA); if (expander_status) goto out;
-
- /*
- Pin direction and pull-up depends on both the diode direction
- and on whether the column register is 0 ("A") or 1 ("B"):
- +-------+---------------+---------------+
- | | ROW2COL | COL2ROW |
- +-------+---------------+---------------+
- | Reg 0 | input, output | output, input |
- +-------+---------------+---------------+
- | Reg 1 | output, input | input, output |
- +-------+---------------+---------------+
- */
-
-#if (EXPANDER_COLUMN_REGISTER == 0)
-# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
- expander_status = i2c_write(0); if (expander_status) goto out;
-# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(0); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
-# endif
-#elif (EXPANDER_COLUMN_REGISTER == 1)
-# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(0); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
-# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
- expander_status = i2c_write(0); if (expander_status) goto out;
-# endif
-#endif
-
- i2c_stop();
-
- // set pull-up
- // - unused : off : 0
- // - input : on : 1
- // - driving : off : 0
- expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out;
- expander_status = i2c_write(GPPUA); if (expander_status) goto out;
-#if (EXPANDER_COLUMN_REGISTER == 0)
-# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
- expander_status = i2c_write(0); if (expander_status) goto out;
-# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(0); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
-# endif
-#elif (EXPANDER_COLUMN_REGISTER == 1)
-# if (DIODE_DIRECTION == COL2ROW)
- expander_status = i2c_write(0); if (expander_status) goto out;
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
-# elif (DIODE_DIRECTION == ROW2COL)
- expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out;
- expander_status = i2c_write(0); if (expander_status) goto out;
-# endif
-#endif
-
-out:
- i2c_stop();
-}
-
-uint8_t matrix_scan(void)
-{
- if (expander_status) { // if there was an error
- if (++expander_reset_loop == 0) {
- // since expander_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
- // this will be approx bit more frequent than once per second
- print("trying to reset expander\n");
- init_expander();
- if (expander_status) {
- print("left side not responding\n");
- } else {
- print("left side attached\n");
- }
- }
- }
-
-#ifdef DEBUG_MATRIX_SCAN_RATE
- matrix_scan_count++;
-
- uint32_t timer_now = timer_read32();
- if (TIMER_DIFF_32(timer_now, matrix_timer)>1000) {
- print("matrix scan frequency: ");
- pdec(matrix_scan_count);
- print("\n");
-
- matrix_timer = timer_now;
- matrix_scan_count = 0;
- }
-#endif
-
-#if (DIODE_DIRECTION == COL2ROW)
- for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
-# if (DEBOUNCING_DELAY > 0)
- bool matrix_changed = read_cols_on_row(matrix_debouncing, current_row);
-
- if (matrix_changed) {
- debouncing = true;
- debouncing_time = timer_read();
- }
-# else
- read_cols_on_row(matrix, current_row);
-# endif
- }
-
-#elif (DIODE_DIRECTION == ROW2COL)
- for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) {
-# if (DEBOUNCING_DELAY > 0)
- bool matrix_changed = read_rows_on_col(matrix_debouncing, current_col);
-
- if (matrix_changed) {
- debouncing = true;
- debouncing_time = timer_read();
- }
-# else
- read_rows_on_col(matrix, current_col);
-# endif
-
- }
-#endif
-
-# if (DEBOUNCING_DELAY > 0)
- if (debouncing && (timer_elapsed(debouncing_time) > DEBOUNCING_DELAY)) {
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- matrix[i] = matrix_debouncing[i];
- }
- debouncing = false;
- }
-# endif
-
- matrix_scan_quantum();
- return 1;
-}
-
-bool matrix_is_modified(void) // deprecated and evidently not called.
-{
-#if (DEBOUNCING_DELAY > 0)
- if (debouncing) return false;
-#endif
- return true;
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & (ROW_SHIFTER << col));
-}
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
-#ifdef MATRIX_MASKED
- return matrix[row] & matrix_mask[row];
-#else
- return matrix[row];
-#endif
-}
-
-void matrix_print(void)
-{
- print("\nr/c 0123456789ABCDEF\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- pbin_reverse16(matrix_get_row(row));
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += bitpop16(matrix[i]);
- }
- return count;
-}
-
-#if (DIODE_DIRECTION == COL2ROW)
-
-static void init_cols(void) {
- for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- if (! col_expanded[x]) {
- uint8_t pin = onboard_col_pins[x];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- }
- }
-}
-
-static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
- // Store last value of row prior to reading
- matrix_row_t last_row_value = current_matrix[current_row];
-
- // Clear data in matrix row
- current_matrix[current_row] = 0;
-
- // Select row and wait for row selection to stabilize
- select_row(current_row);
- wait_us(30);
-
- // Read columns from expander, unless it's in an error state
- if (! expander_status) {
- expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out;
- expander_status = i2c_write(GPIOA); if (expander_status) goto out;
- expander_status = i2c_start(I2C_ADDR_READ); if (expander_status) goto out;
-
- current_matrix[current_row] |= (~i2c_readNak()) & EXPANDER_MASK;
-
- out:
- i2c_stop();
- }
-
- // Read columns from onboard pins
- for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
- if (! col_expanded[col_index]) {
- uint8_t pin = onboard_col_pins[col_index];
- uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF));
- current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index);
- }
- }
-
- unselect_row(current_row);
-
- return (last_row_value != current_matrix[current_row]);
-}
-
-static void select_row(uint8_t row) {
- // select on expander, unless it's in an error state
- if (! expander_status) {
- // set active row low : 0
- // set other rows hi-Z : 1
- expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out;
- expander_status = i2c_write(GPIOB); if (expander_status) goto out;
- expander_status = i2c_write(0xFF & ~(1<<row)); if (expander_status) goto out;
- out:
- i2c_stop();
- }
-
- // select on teensy
- uint8_t pin = onboard_row_pins[row];
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
-}
-
-static void unselect_row(uint8_t row)
-{
- // No need to explicitly unselect expander pins--their I/O state is
- // set simultaneously, with a single bitmask sent to i2c_write. When
- // select_row selects a single pin, it implicitly unselects all the
- // other ones.
-
- // unselect on teensy
- uint8_t pin = onboard_row_pins[row];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // LOW
-}
-
-static void unselect_rows(void) {
- for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
- unselect_row(x);
- }
-}
-
-#elif (DIODE_DIRECTION == ROW2COL)
-
-static void init_rows(void)
-{
- for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
- uint8_t pin = onboard_row_pins[x];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- }
-}
-
-static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
-{
- bool matrix_changed = false;
-
- uint8_t column_state = 0;
-
- //select col and wait for selection to stabilize
- select_col(current_col);
- wait_us(30);
-
- if (current_col < 6) {
- // read rows from expander
- if (expander_status) {
- // it's already in an error state; nothing we can do
- return false;
- }
-
- expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out;
- expander_status = i2c_write(GPIOB); if (expander_status) goto out;
- expander_status = i2c_start(I2C_ADDR_READ); if (expander_status) goto out;
- column_state = i2c_readNak();
-
- out:
- i2c_stop();
-
- column_state = ~column_state;
- } else {
- for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
- if ((_SFR_IO8(onboard_row_pins[current_row] >> 4) & _BV(onboard_row_pins[current_row] & 0xF)) == 0) {
- column_state |= (1 << current_row);
- }
- }
- }
-
- for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
- // Store last value of row prior to reading
- matrix_row_t last_row_value = current_matrix[current_row];
-
- if (column_state & (1 << current_row)) {
- // key closed; set state bit in matrix
- current_matrix[current_row] |= (ROW_SHIFTER << current_col);
- } else {
- // key open; clear state bit in matrix
- current_matrix[current_row] &= ~(ROW_SHIFTER << current_col);
- }
-
- // Determine whether the matrix changed state
- if ((last_row_value != current_matrix[current_row]) && !(matrix_changed))
- {
- matrix_changed = true;
- }
- }
-
- unselect_col(current_col);
-
- return matrix_changed;
-}
-
-static void select_col(uint8_t col)
-{
- if (col_expanded[col]) {
- // select on expander
- if (expander_status) { // if there was an error
- // do nothing
- } else {
- // set active col low : 0
- // set other cols hi-Z : 1
- expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out;
- expander_status = i2c_write(GPIOA); if (expander_status) goto out;
- expander_status = i2c_write(0xFF & ~(1<<col)); if (expander_status) goto out;
- out:
- i2c_stop();
- }
- } else {
- // select on teensy
- uint8_t pin = onboard_col_pins[col];
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
- }
-}
-
-static void unselect_col(uint8_t col)
-{
- if (col_expanded[col]) {
- // No need to explicitly unselect expander pins--their I/O state is
- // set simultaneously, with a single bitmask sent to i2c_write. When
- // select_col selects a single pin, it implicitly unselects all the
- // other ones.
- } else {
- // unselect on teensy
- uint8_t pin = onboard_col_pins[col];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- }
-}
-
-static void unselect_cols(void)
-{
- for(uint8_t x = 0; x < MATRIX_COLS; x++) {
- unselect_col(x);
- }
-}
-#endif
diff --git a/keyboards/handwired/dactyl/readme.md b/keyboards/handwired/dactyl/readme.md
deleted file mode 100644
index 698ef29e01..0000000000
--- a/keyboards/handwired/dactyl/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Dactyl
-
-See https://github.com/adereth/dactyl-keyboard
-
-The Dactyl uses the [Teensy Loader](https://www.pjrc.com/teensy/loader.html).
-
-Linux users need to modify udev rules as described on the [Teensy
-Linux page]. Some distributions provide a binary, maybe called
-`teensy-loader-cli`.
-
-[Teensy Linux page]: https://www.pjrc.com/teensy/loader_linux.html
-
-To flash the firmware:
-
- - Build the firmware with `make handwired/dactyl:<keymapname>`, for example `make handwired/dactyl:default`
- - This will result in a hex file called `handwired_dactyl_<keymapname>.hex`, e.g.
- `handwired_dactyl_default.hex`
-
- - Start the teensy loader.
-
- - Load the .hex file into it.
-
- - Put the Teensy in firmware-loading mode:
- * If your current layout has a RESET key, press it.
- * If you lack a RESET key, press the reset button on the Teensy board itself.
-
- - Click the button in the Teensy app to download the firmware.
-
-To flash with ´teensy-loader-cli´:
-
- - Build the firmware as above
-
- - Run `<path/to/>teensy_loader_cli -mmcu=atmega32u4 -w handwired_dactyl_<keymapname>.hex`
-
- - If you like, you can do both at once: `make handwired/dactyl:<keymapname>:teensy`
-
- - Put the Teensy in firmware-loading mode:
- * If your current layout has a RESET key, press it.
- * If you lack a RESET key, press the reset button on the Teensy board itself.
diff --git a/keyboards/handwired/dactyl/rules.mk b/keyboards/handwired/dactyl/rules.mk
deleted file mode 100644
index dc25f9c3fb..0000000000
--- a/keyboards/handwired/dactyl/rules.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make = Make software.
-#
-# make clean = Clean out built project files.
-#
-# That's pretty much all you need. To compile, always go make clean,
-# followed by make.
-#
-# For advanced users only:
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-# (must have teensy_loader_cli installed).
-#
-#----------------------------------------------------------------------------
-
-# # project specific files
-SRC = twimaster.c \
- matrix.c
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MIDI_ENABLE = no # MIDI support (+2400 to 4200)
-POINTING_DEVICE_ENABLE = no
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+8000)
-COMMAND_ENABLE = no # Commands for debug and configuration
-CUSTOM_MATRIX = yes # Custom matrix file for the Dactyl
-NKRO_ENABLE = yes # USB Nkey Rollover
-UNICODE_ENABLE = yes # Unicode
-SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard
-SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE = no
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/dactyl/twimaster.c b/keyboards/handwired/dactyl/twimaster.c
deleted file mode 100644
index 2557f7e227..0000000000
--- a/keyboards/handwired/dactyl/twimaster.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*************************************************************************
-* Title: I2C master library using hardware TWI interface
-* Author: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury
-* File: $Id: twimaster.c,v 1.3 2005/07/02 11:14:21 Peter Exp $
-* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3
-* Target: any AVR device with hardware TWI
-* Usage: API compatible with I2C Software Library i2cmaster.h
-**************************************************************************/
-#include <inttypes.h>
-#include <compat/twi.h>
-
-#include <i2cmaster.h>
-
-/* define CPU frequency in Hz here if not defined in Makefile */
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-/* I2C clock in Hz */
-#define SCL_CLOCK 400000L
-
-
-/*************************************************************************
- Initialization of the I2C bus interface. Need to be called only once
-*************************************************************************/
-void i2c_init(void)
-{
- /* initialize TWI clock
- * minimal values in Bit Rate Register (TWBR) and minimal Prescaler
- * bits in the TWI Status Register should give us maximal possible
- * I2C bus speed - about 444 kHz
- *
- * for more details, see 20.5.2 in ATmega16/32 secification
- */
-
- TWSR = 0; /* no prescaler */
- TWBR = 10; /* must be >= 10 for stable operation */
-
-}/* i2c_init */
-
-
-/*************************************************************************
- Issues a start condition and sends address and transfer direction.
- return 0 = device accessible, 1= failed to access device
-*************************************************************************/
-unsigned char i2c_start(unsigned char address)
-{
- uint8_t twst;
-
- // send START condition
- TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
-
- // wait until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst != TW_START) && (twst != TW_REP_START)) return 1;
-
- // send device address
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- // wail until transmission completed and ACK/NACK has been received
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst != TW_MT_SLA_ACK) && (twst != TW_MR_SLA_ACK) ) return 1;
-
- return 0;
-
-}/* i2c_start */
-
-
-/*************************************************************************
- Issues a start condition and sends address and transfer direction.
- If device is busy, use ack polling to wait until device is ready
-
- Input: address and transfer direction of I2C device
-*************************************************************************/
-void i2c_start_wait(unsigned char address)
-{
- uint8_t twst;
-
-
- while ( 1 )
- {
- // send START condition
- TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
-
- // wait until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst != TW_START) && (twst != TW_REP_START)) continue;
-
- // send device address
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- // wail until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst == TW_MT_SLA_NACK )||(twst ==TW_MR_DATA_NACK) )
- {
- /* device busy, send stop condition to terminate write operation */
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- // wait until stop condition is executed and bus released
- while(TWCR & (1<<TWSTO));
-
- continue;
- }
- //if( twst != TW_MT_SLA_ACK) return 1;
- break;
- }
-
-}/* i2c_start_wait */
-
-
-/*************************************************************************
- Issues a repeated start condition and sends address and transfer direction
-
- Input: address and transfer direction of I2C device
-
- Return: 0 device accessible
- 1 failed to access device
-*************************************************************************/
-unsigned char i2c_rep_start(unsigned char address)
-{
- return i2c_start( address );
-
-}/* i2c_rep_start */
-
-
-/*************************************************************************
- Terminates the data transfer and releases the I2C bus
-*************************************************************************/
-void i2c_stop(void)
-{
- /* send stop condition */
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- // wait until stop condition is executed and bus released
- while(TWCR & (1<<TWSTO));
-
-}/* i2c_stop */
-
-
-/*************************************************************************
- Send one byte to I2C device
-
- Input: byte to be transfered
- Return: 0 write successful
- 1 write failed
-*************************************************************************/
-unsigned char i2c_write( unsigned char data )
-{
- uint8_t twst;
-
- // send data to the previously addressed device
- TWDR = data;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- // wait until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits
- twst = TW_STATUS & 0xF8;
- if( twst != TW_MT_DATA_ACK) return 1;
- return 0;
-
-}/* i2c_write */
-
-
-/*************************************************************************
- Read one byte from the I2C device, request more data from device
-
- Return: byte read from I2C device
-*************************************************************************/
-unsigned char i2c_readAck(void)
-{
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
- while(!(TWCR & (1<<TWINT)));
-
- return TWDR;
-
-}/* i2c_readAck */
-
-
-/*************************************************************************
- Read one byte from the I2C device, read is followed by a stop condition
-
- Return: byte read from I2C device
-*************************************************************************/
-unsigned char i2c_readNak(void)
-{
- TWCR = (1<<TWINT) | (1<<TWEN);
- while(!(TWCR & (1<<TWINT)));
-
- return TWDR;
-
-}/* i2c_readNak */
diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.c b/keyboards/handwired/dactyl_manuform/4x5/4x5.c
deleted file mode 100644
index 78c0fee819..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/4x5.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "4x5.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.h b/keyboards/handwired/dactyl_manuform/4x5/4x5.h
deleted file mode 100644
index b34d97adbf..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/4x5.h
+++ /dev/null
@@ -1,70 +0,0 @@
-#pragma once
-
-#include "dactyl_manuform.h"
-
-//void promicro_bootloader_jmp(bool program);
-#include "quantum.h"
-
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-//void promicro_bootloader_jmp(bool program);
-
-#ifndef FLIP_HALF
-#define LAYOUT( \
- L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
- L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
- L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
- L31, L32, R32, R33, \
- L33, L34, R30, R31, \
- L44, L43, R41, R40, \
- L42, L41, R43, R42 \
- ) \
- { \
- { L00, L01, L02, L03, L04 }, \
- { L10, L11, L12, L13, L14 }, \
- { L20, L21, L22, L23, L24 }, \
- { KC_NO, L31, L32, L33, L34 }, \
- { KC_NO, L41, L42, L43, L44 }, \
-\
- { R04, R03, R02, R01, R00 }, \
- { R14, R13, R12, R11, R10 }, \
- { R24, R23, R22, R21, R20 }, \
- { KC_NO, R33, R32, R31, R30 }, \
- { KC_NO, R43, R42, R41, R40 } \
- }
-#else
-
-
-
-#define LAYOUT( \
- L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
- L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
- L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
- L31, L32, R32, R33, \
- L33, L34, R30, R31, \
- L44, L43, R41, R40, \
- L42, L41, R43, R42 \
- ) \
- { \
- { R04, R03, R02, R01, R00 }, \
- { R14, R13, R12, R11, R10 }, \
- { R24, R23, R22, R21, R20 }, \
- { KC_NO, R33, R32, R31, R30 }, \
- { KC_NO, R43, R42, R41, R40 }, \
-\
- { L00, L01, L02, L03, L04 }, \
- { L10, L11, L12, L13, L14 }, \
- { L20, L21, L22, L23, L24 }, \
- { KC_NO, L31, L32, L33, L34 }, \
- { KC_NO, L41, L42, L43, L44 } \
-\
- }
-#endif
-
diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h
deleted file mode 100644
index c8417a2f0f..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tshort
-#define DESCRIPTION A split keyboard for the cheap makers
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 5
-
-// wiring of each half
-#define MATRIX_ROW_PINS { F7, B1, B3, B2, B6 }
-// #define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
-#define MATRIX_COL_PINS { C6, D7, E6, B4, B5 }
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-// #define BACKLIGHT_LEVELS 3
-
-
diff --git a/keyboards/handwired/dactyl_manuform/4x5/info.json b/keyboards/handwired/dactyl_manuform/4x5/info.json
deleted file mode 100644
index 4ee52e1644..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/info.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "keyboard_name": "Dactyl Manuform 4x5",
- "url": "",
- "maintainer": "qmk",
- "width": 15,
- "height": 7,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"R00", "x":10, "y":0},
- {"label":"R01", "x":11, "y":0},
- {"label":"R02", "x":12, "y":0},
- {"label":"R03", "x":13, "y":0},
- {"label":"R04", "x":14, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"R10", "x":10, "y":1},
- {"label":"R11", "x":11, "y":1},
- {"label":"R12", "x":12, "y":1},
- {"label":"R13", "x":13, "y":1},
- {"label":"R14", "x":14, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"R20", "x":10, "y":2},
- {"label":"R21", "x":11, "y":2},
- {"label":"R22", "x":12, "y":2},
- {"label":"R23", "x":13, "y":2},
- {"label":"R24", "x":14, "y":2},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"R32", "x":12, "y":3},
- {"label":"R33", "x":13, "y":3},
- {"label":"L33", "x":3, "y":4},
- {"label":"L34", "x":4, "y":4},
- {"label":"R30", "x":10, "y":4},
- {"label":"R31", "x":11, "y":4},
- {"label":"L44", "x":5, "y":5},
- {"label":"L43", "x":6, "y":5},
- {"label":"R41", "x":8, "y":5},
- {"label":"R40", "x":9, "y":5},
- {"label":"L42", "x":5, "y":6},
- {"label":"L41", "x":6, "y":6},
- {"label":"R43", "x":8, "y":6},
- {"label":"R42", "x":9, "y":6}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h
deleted file mode 100644
index 6b0ddbfe8e..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Use I2C or Serial, not both */
-
-#define USE_SERIAL
-// #define USE_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c
deleted file mode 100644
index 2e5cfd7ced..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c
+++ /dev/null
@@ -1,126 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _BASE 0
-#define _RAISE 1
-#define _LOWER 2
-
-// Fillers to make layering more clear
-
-#define ____ KC_TRNS
-
-#define SFT_ESC SFT_T(KC_ESC)
-#define CTL_BSPC CTL_T(KC_BSPC)
-#define ALT_SPC ALT_T(KC_SPC)
-#define SFT_ENT SFT_T(KC_ENT)
-
-#define KC_ML KC_MS_LEFT
-#define KC_MR KC_MS_RIGHT
-#define KC_MU KC_MS_UP
-#define KC_MD KC_MS_DOWN
-#define KC_MB1 KC_MS_BTN1
-#define KC_MB2 KC_MS_BTN1
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Base (qwerty)
- * ,----------------------------------, ,----------------------------------,
- * | q | w | e | r | t | | y | u | i | o | p |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | a | s | d | f | g | | h | j | k | l | ; |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | z | x | c | v | b | | n | m | , | . | ' |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | [ | ] | | - | = |
- * '------+------'-------------' '-------------'------+------'
- * | ESC | BS | | SPACE|ENTER |
- * | + | + | | + | + |
- * | SHIFT| CTRL | | ALT |SHIFT |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | TAB | HOME | | END | DEL |
- * '------+------' '------+------'
- * | Lower| ~ | | GUI | Raise|
- * '------+------' '------+------'
- */
-
-[_BASE] = LAYOUT( \
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, \
- KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, \
- SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT, \
- KC_TAB, KC_HOME, KC_END, KC_DEL, \
- RAISE, KC_GRV, KC_LGUI, LOWER
-),
-
-/* Raise
- * ,----------------------------------, ,----------------------------------,
- * | | | mup | | | | VOL+ | | up | | PgUp |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | | | | | | | VOL- | / | \ | ? | | |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | | | | mbtn |mbtn2 |
- * '------+------'-------------' '-------------'------+------'
- * | | | | | |
- * | | | | | |
- * | | | | | |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- */
-
-[_RAISE] = LAYOUT( \
- ____, ____, KC_MU, ____, ____, KC_VOLU, ____, KC_UP, ____, KC_PGUP, \
- ____, KC_ML, KC_MD, KC_MR, ____, KC_MUTE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, \
- ____, ____, ____, ____, ____, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE, \
- ____, ____, KC_MB1, KC_MB2, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____ \
-),
-/* Lower
- * ,----------------------------------, ,----------------------------------,
- * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 10 |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | F11 | F12 | | - | = |
- * '------+------'-------------' '-------------'------+------'
- * | | | | | |
- * | | | | | |
- * | | | | | |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- */
-
-[_LOWER] = LAYOUT( \
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \
- KC_F11, KC_F12, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____ \
-)
-};
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/rules.mk b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/rules.mk
+++ /dev/null
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h
deleted file mode 100644
index 682c7a868b..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "../../config.h"
-
-/* Use I2C or Serial, not both */
-
-#define USE_SERIAL
-// #define USE_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c
deleted file mode 100644
index 0a1c90b6bf..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/keymap.c
+++ /dev/null
@@ -1,129 +0,0 @@
-#include "dactyl_manuform.h"
-#include "action_layer.h"
-#include "eeconfig.h"
-
-extern keymap_config_t keymap_config;
-
-#define _BASE 0
-#define _RAISE 1
-#define _LOWER 2
-
-// Fillers to make layering more clear
-
-#define ____ KC_TRNS
-
-#define SFT_ESC SFT_T(KC_ESC)
-#define CTL_BSPC CTL_T(KC_BSPC)
-#define ALT_SPC ALT_T(KC_SPC)
-#define SFT_ENT SFT_T(KC_ENT)
-
-#define KC_ML KC_MS_LEFT
-#define KC_MR KC_MS_RIGHT
-#define KC_MU KC_MS_UP
-#define KC_MD KC_MS_DOWN
-#define KC_MB1 KC_MS_BTN1
-#define KC_MB2 KC_MS_BTN1
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Base (dvorak)
- * ,----------------------------------, ,----------------------------------,
- * | ' | , | . | p | y | | f | g | c | r | l |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | a | o | e | u | i | | d | h | t | n | s |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | ; | q | j | k | x | | b | m | w | v | z |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | [ | ] | | - | = |
- * '------+------'-------------' '-------------'------+------'
- * | ESC | BS | | SPACE|ENTER |
- * | + | + | | + | + |
- * | SHIFT| CTRL | | ALT |SHIFT |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | TAB | HOME | | END | DEL |
- * '------+------' '------+------'
- * | Lower| ~ | | GUI | Raise|
- * '------+------' '------+------'
- */
-
-[_BASE] = LAYOUT( \
- KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
- KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \
- KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, \
- KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, \
- SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT, \
- KC_TAB, KC_HOME, KC_END, KC_DEL, \
- RAISE, KC_GRV, KC_LGUI, LOWER
-),
-
-/* Raise
- * ,----------------------------------, ,----------------------------------,
- * | | | mup | | | | VOL+ | | up | | PgUp |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | | | | | | | VOL- | / | \ | ? | | |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | | | | mbtn |mbtn2 |
- * '------+------'-------------' '-------------'------+------'
- * | | | | | |
- * | | | | | |
- * | | | | | |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- */
-
-[_RAISE] = LAYOUT( \
- ____, ____, KC_MU, ____, ____, KC_VOLU, ____, KC_UP, ____, KC_PGUP, \
- ____, KC_ML, KC_MD, KC_MR, ____, KC_MUTE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, \
- ____, ____, ____, ____, ____, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE, \
- ____, ____, KC_MB1, KC_MB2, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____ \
-),
-/* Lower
- * ,----------------------------------, ,----------------------------------,
- * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 10 |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | F11 | F12 | | - | = |
- * '------+------'-------------' '-------------'------+------'
- * | | | | | |
- * | | | | | |
- * | | | | | |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- */
-
-[_LOWER] = LAYOUT( \
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \
- KC_F11, KC_F12, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____ \
-)
-};
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/rules.mk b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/rules.mk
+++ /dev/null
diff --git a/keyboards/handwired/dactyl_manuform/4x5/rules.mk b/keyboards/handwired/dactyl_manuform/4x5/rules.mk
deleted file mode 100644
index 7508070515..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x5/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/dactyl_manuform/4x6/4x6.c b/keyboards/handwired/dactyl_manuform/4x6/4x6.c
deleted file mode 100644
index 1d305c8541..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x6/4x6.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "4x6.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/4x6/4x6.h b/keyboards/handwired/dactyl_manuform/4x6/4x6.h
deleted file mode 100644
index 25741be57b..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x6/4x6.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#pragma once
-
-#include "dactyl_manuform.h"
-#include "quantum.h"
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-#define LAYOUT(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L32, L33, R32, R33, \
- L34, L35, R30, R31, \
- L44, L45, R40, R41, \
- L42, L43, R42, R43 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { KC_NO, KC_NO, L32, L33, L34, L35 }, \
- { KC_NO, KC_NO, L42, L43, L44, L45 }, \
-\
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, KC_NO, KC_NO }, \
- { R40, R41, R42, R43, KC_NO, KC_NO } \
-\
- }
diff --git a/keyboards/handwired/dactyl_manuform/4x6/config.h b/keyboards/handwired/dactyl_manuform/4x6/config.h
deleted file mode 100644
index d4a1922876..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x6/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tshort
-#define DESCRIPTION A split keyboard for the cheap makers
-
-/* 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
diff --git a/keyboards/handwired/dactyl_manuform/4x6/info.json b/keyboards/handwired/dactyl_manuform/4x6/info.json
deleted file mode 100644
index ba358a703f..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x6/info.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "keyboard_name": "Dactyl Manuform 4x6",
- "url": "",
- "maintainer": "qmk",
- "width": 17,
- "height": 7,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"L34", "x":4, "y":4},
- {"label":"L35", "x":5, "y":4},
- {"label":"R30", "x":11, "y":4},
- {"label":"R31", "x":12, "y":4},
- {"label":"L44", "x":6, "y":5},
- {"label":"L45", "x":7, "y":5},
- {"label":"R40", "x":9, "y":5},
- {"label":"R41", "x":10, "y":5},
- {"label":"L42", "x":6, "y":6},
- {"label":"L43", "x":7, "y":6},
- {"label":"R42", "x":9, "y":6},
- {"label":"R43", "x":10, "y":6}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h
deleted file mode 100644
index 1fc2c617f6..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Use I2C or Serial, not both */
-#define USE_SERIAL
-// #define USE_I2C
-
-/* Select hand configuration */
-
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
-#define EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c
deleted file mode 100644
index ad23beef5c..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _BASE 0
-#define _RAISE 1
-#define _LOWER 2
-
-// Fillers to make layering more clear
-
-#define ____ KC_TRNS
-
-#define SFT_ESC SFT_T(KC_ESC)
-#define CTL_BSPC CTL_T(KC_BSPC)
-#define ALT_SPC ALT_T(KC_SPC)
-#define SFT_ENT SFT_T(KC_ENT)
-
-#define KC_ML KC_MS_LEFT
-#define KC_MR KC_MS_RIGHT
-#define KC_MU KC_MS_UP
-#define KC_MD KC_MS_DOWN
-#define KC_MB1 KC_MS_BTN1
-#define KC_MB2 KC_MS_BTN1
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Base (qwerty)
- * +-----------------------------------------+ +-----------------------------------------+
- * | ESC | q | w | e | r | t | | y | u | i | o | p | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | a | s | d | f | g | | h | j | k | l | ; | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | SHFT | z | x | c | v | b | | n | m | , | . | / | |
- * +------+------+------+------+-------------+ +-------------+------+------+------+------+
- * | [ | ] | | | |
- * +-------------+-------------+ +-------------+-------------+
- * | | | | | |
- * |------+------| |------+------|
- * | | | | | |
- * +-------------+ +-------------+
- * +-------------+ +-------------+
- * | | | | | |
- * |------+------| |------+------|
- * | | | | | |
- * +-------------+ +-------------+
- */
-
-[_BASE] = LAYOUT( \
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, \
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_BSLASH, \
- KC_LBRC,KC_RBRC, KC_PLUS,KC_EQL, \
- RAISE, KC_SPC, KC_ENT, LOWER, \
- KC_TAB, KC_HOME, KC_END, KC_DEL, \
- KC_BSPC,KC_GRV, KC_LGUI,KC_LALT \
-),
-
-[_LOWER] = LAYOUT(
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, \
- _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS,KC_PIPE, \
- _______,_______,_______,_______,_______,_______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, \
- _______,KC_PSCR, _______, KC_P0, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______ \
-),
-
-[_RAISE] = LAYOUT(
- _______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,KC_MUTE, \
- _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, \
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, \
- _______,_______, KC_EQL, _______, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______ \
-)
-};
-
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
diff --git a/keyboards/handwired/dactyl_manuform/4x6/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/rules.mk
deleted file mode 100644
index 7508070515..0000000000
--- a/keyboards/handwired/dactyl_manuform/4x6/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.c b/keyboards/handwired/dactyl_manuform/5x6/5x6.c
deleted file mode 100644
index 68fceffd92..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/5x6.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "5x6.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.h b/keyboards/handwired/dactyl_manuform/5x6/5x6.h
deleted file mode 100644
index 5292ca0972..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/5x6.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#include "dactyl_manuform.h"
-#include "quantum.h"
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-#define LAYOUT_5x6(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L42, L43, R42, R43, \
- L44, L45, R40, R41, \
- L54, L55, R50, R51, \
- L52, L53, R52, R53 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { KC_NO, KC_NO, L42, L43, L44, L45 }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
- \
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { R40, R41, R42, R43, KC_NO, KC_NO }, \
- { R50, R51, R52, R53, KC_NO, KC_NO } \
-}
diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h
deleted file mode 100644
index 06ac02dfcb..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-
-#define PRODUCT Dactyl-Manuform (5x6)
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 6
-
-// wiring of each half
-#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
-#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
-
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-// #define BACKLIGHT_LEVELS 3
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6/info.json b/keyboards/handwired/dactyl_manuform/5x6/info.json
deleted file mode 100644
index 14afc704cd..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/info.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "keyboard_name": "Dactyl Manuform 5x6",
- "url": "",
- "maintainer": "qmk",
- "width": 17,
- "height": 8,
- "layouts": {
- "LAYOUT_5x6": {
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
- {"label":"L30", "x":0, "y":3},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"L34", "x":4, "y":3},
- {"label":"L35", "x":5, "y":3},
- {"label":"R30", "x":11, "y":3},
- {"label":"R31", "x":12, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"R34", "x":15, "y":3},
- {"label":"R35", "x":16, "y":3},
- {"label":"L42", "x":2, "y":4},
- {"label":"L43", "x":3, "y":4},
- {"label":"R42", "x":13, "y":4},
- {"label":"R43", "x":14, "y":4},
- {"label":"L44", "x":4, "y":5},
- {"label":"L45", "x":5, "y":5},
- {"label":"R40", "x":11, "y":5},
- {"label":"R41", "x":12, "y":5},
- {"label":"L54", "x":6, "y":6},
- {"label":"L55", "x":7, "y":6},
- {"label":"R50", "x":9, "y":6},
- {"label":"R51", "x":10, "y":6},
- {"label":"L52", "x":6, "y":7},
- {"label":"L53", "x":7, "y":7},
- {"label":"R52", "x":9, "y":7},
- {"label":"R53", "x":10, "y":7}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h
deleted file mode 100644
index 10b9693267..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#pragma once
-
-#include "333fred_config.h"
-
-#define USE_SERIAL
-#define EE_HANDS
-
-#undef TAPPING_TERM
-#define TAPPING_TERM 200
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
deleted file mode 100644
index 4f6151a512..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "333fred.h"
-
-enum custom_macros {
- DLEFT,
- DRIGHT,
- PSCREEN_APP
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [BASE] = LAYOUT_5x6(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
- KC_F4, KC_F5, TG(CODEFLOW), KC_EQL,
- KC_LALT, KC_BSPC, KC_SPC, OSL(VIM),
- TD(TD_COPY_PASTE), TD(TD_SYM_VIM), KC_ENT, KC_RGUI,
- KC_LCTL, KC_DEL, KC_UP, KC_DOWN
- ),
-
- [CODEFLOW] = LAYOUT_5x6(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_F7, KC_F8, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
- [SYMB] = LAYOUT_5x6(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, _______, KC_7, KC_8, KC_9, _______, KC_F12,
- _______, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, KC_GRV, _______, KC_4, KC_5, KC_6, _______, _______,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, KC_1, KC_2, KC_3, _______, _______,
- KC_F7, KC_F8, KC_0, KC_ENT,
- _______, _______, KC_MPLY, KC_MNXT,
- _______, _______, KC_MPRV, _______,
- _______, _______, KC_VOLU, KC_VOLD
- ),
-
- [VIM] = LAYOUT_5x6(
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
- _______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______,
- _______, M(DLEFT), M(DRIGHT), KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch(id) {
- case DLEFT:
- if (record->event.pressed) { // Windows move desktop left
- return MACRO(D(LCTL), D(LGUI), T(LEFT), U(LGUI), U(LCTL), END);
- }
- break;
- case DRIGHT:
- if (record->event.pressed) { // Windows move desktop right
- return MACRO(D(LCTL), D(LGUI), T(RIGHT), U(LGUI), U(LCTL), END);
- }
- break;
- case PSCREEN_APP: if (record->event.pressed) {
- return MACRO(D(LALT), T(PSCR), U(LALT), END);
- }
- break;
- }
- return MACRO_NONE;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- tap_dance_process_record(keycode);
- return true;
-}
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk
deleted file mode 100644
index 79ef33e7c3..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-
-NKRO_ENABLE = yes
-KEY_LOCK_ENABLE = yes
-TAP_DANCE_ENABLE = yes
-CONSOLE_ENABLE = no
-PERMISSIVE_HOLD = yes
-EXTRAFLAGS += -flto
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h
deleted file mode 100644
index 29ab59ad66..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-#pragma once
-
-
-#define USE_SERIAL
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c
deleted file mode 100644
index 0d1efde33b..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* A standard layout for the Dactyl Manuform 5x6 Keyboard */
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_5x6(
- KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS,
- KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
- KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
- KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
- RAISE,KC_SPC, KC_ENT, LOWER,
- KC_TAB,KC_HOME, KC_END, KC_DEL,
- KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
- ),
-
- [_LOWER] = LAYOUT_5x6(
-
- KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
- _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
- _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
- _______,KC_PSCR, _______, KC_P0,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-
- ),
-
- [_RAISE] = LAYOUT_5x6(
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
- _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
- _______,_______, KC_EQL ,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-};
-
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h
deleted file mode 100644
index d046806eaa..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define USE_SERIAL
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/keymap.c
deleted file mode 100644
index 179b448664..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-
-/* A QWERTY 3 Layer layout for the Dactyl Manuform 5x6 Keyboard */
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- [_QWERTY] = LAYOUT_5x6(
- KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS,
- KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
- KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
- KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
- RAISE,KC_SPC, KC_ENT, LOWER,
- KC_TAB,KC_HOME, KC_END, KC_DEL,
- KC_BSPC,KC_GRV, KC_LGUI, KC_LALT
- ),
-
-
- [_LOWER] = LAYOUT_5x6(
- KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
- _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
- _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
- _______,KC_PSCR, _______, KC_P0,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-
-),
-
- [_RAISE] = LAYOUT_5x6(
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
- _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
- _______,_______, KC_EQL ,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- };
diff --git a/keyboards/handwired/dactyl_manuform/5x6/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/rules.mk
deleted file mode 100644
index 7508070515..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.c b/keyboards/handwired/dactyl_manuform/5x7/5x7.c
deleted file mode 100644
index 135014d655..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x7/5x7.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "5x7.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.h b/keyboards/handwired/dactyl_manuform/5x7/5x7.h
deleted file mode 100644
index 88b68b31e6..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x7/5x7.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#pragma once
-
-#include "dactyl_manuform.h"
-#include "quantum.h"
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avR/io.h>
- #include <avR/inteRRupt.h>
-#endif
-#endif
-
-#define LAYOUT_5x7( \
- L11, L12, L13, L14, L15, L16, L17, \
- L21, L22, L23, L24, L25, L26, L27, \
- L31, L32, L33, L34, L35, L36, L37, \
- L41, L42, L43, L44, L45, L46, \
- L51, L52, L53, L54, \
- L55, L56, \
- L65, L66, \
- L63, L64, \
- R11, R12, R13, R14, R15, R16, R17, \
- R21, R22, R23, R24, R25, R26, R27, \
- R31, R32, R33, R34, R35, R36, R37, \
- R42, R43, R44, R45, R46, R47, \
- R54, R55, R56, R57, \
- R52, R53, \
- R62, R63, \
- R64, R65 \
- ) \
- { \
- { L11, L12, L13, L14, L15, L16, L17 }, \
- { L21, L22, L23, L24, L25, L26, L27 }, \
- { L31, L32, L33, L34, L35, L36, L37 }, \
- { L41, L42, L43, L44, L45, L46, KC_NO }, \
- { L51, L52, L53, L54, L55, L56, KC_NO }, \
- { KC_NO, KC_NO, L63, L64, L65, L66, KC_NO }, \
- { R11, R12, R13, R14, R15, R16, R17 }, \
- { R21, R22, R23, R24, R25, R26, R27 }, \
- { R31, R32, R33, R34, R35, R36, R37 }, \
- { KC_NO, R42, R43, R44, R45, R46, R47 }, \
- { KC_NO, R52, R53, R54, R55, R56, R57 }, \
- { KC_NO, R62, R63, R64, R65, KC_NO, KC_NO } \
-}
diff --git a/keyboards/handwired/dactyl_manuform/5x7/config.h b/keyboards/handwired/dactyl_manuform/5x7/config.h
deleted file mode 100644
index bef48f17ea..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x7/config.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-
-#define PRODUCT Dactyl-Manuform (Ergodox)
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 7
-
-// wiring of each half
-#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
-#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
diff --git a/keyboards/handwired/dactyl_manuform/5x7/info.json b/keyboards/handwired/dactyl_manuform/5x7/info.json
deleted file mode 100644
index 33ba1b0e79..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x7/info.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "keyboard_name": "Dactyl Manuform 5x7",
- "url": "",
- "maintainer": "qmk",
- "width": 17,
- "height": 8,
- "layouts": {
- "LAYOUT_5x7": {
- "layout": [
- {"label":"L11", "x":0, "y":0},
- {"label":"L12", "x":1, "y":0},
- {"label":"L13", "x":2, "y":0},
- {"label":"L14", "x":3, "y":0},
- {"label":"L15", "x":4, "y":0},
- {"label":"L16", "x":5, "y":0},
- {"label":"L17", "x":6, "y":0},
- {"label":"L21", "x":0, "y":1},
- {"label":"L22", "x":1, "y":1},
- {"label":"L23", "x":2, "y":1},
- {"label":"L24", "x":3, "y":1},
- {"label":"L25", "x":4, "y":1},
- {"label":"L26", "x":5, "y":1},
- {"label":"L27", "x":6, "y":1},
- {"label":"L31", "x":0, "y":2},
- {"label":"L32", "x":1, "y":2},
- {"label":"L33", "x":2, "y":2},
- {"label":"L34", "x":3, "y":2},
- {"label":"L35", "x":4, "y":2},
- {"label":"L36", "x":5, "y":2},
- {"label":"L37", "x":6, "y":2},
- {"label":"L41", "x":0, "y":3},
- {"label":"L42", "x":1, "y":3},
- {"label":"L43", "x":2, "y":3},
- {"label":"L44", "x":3, "y":3},
- {"label":"L45", "x":4, "y":3},
- {"label":"L46", "x":5, "y":3},
- {"label":"L51", "x":0, "y":4},
- {"label":"L52", "x":1, "y":4},
- {"label":"L53", "x":2, "y":4},
- {"label":"L54", "x":3, "y":4},
- {"label":"L55", "x":4, "y":5},
- {"label":"L56", "x":5, "y":5},
- {"label":"L65", "x":6, "y":6},
- {"label":"L66", "x":7, "y":6},
- {"label":"L63", "x":6, "y":7},
- {"label":"L64", "x":7, "y":7},
- {"label":"R11", "x":10, "y":0},
- {"label":"R12", "x":11, "y":0},
- {"label":"R13", "x":12, "y":0},
- {"label":"R14", "x":13, "y":0},
- {"label":"R15", "x":14, "y":0},
- {"label":"R16", "x":15, "y":0},
- {"label":"R17", "x":16, "y":0},
- {"label":"R21", "x":10, "y":1},
- {"label":"R22", "x":11, "y":1},
- {"label":"R23", "x":12, "y":1},
- {"label":"R24", "x":13, "y":1},
- {"label":"R25", "x":14, "y":1},
- {"label":"R26", "x":15, "y":1},
- {"label":"R27", "x":16, "y":1},
- {"label":"R31", "x":10, "y":2},
- {"label":"R32", "x":11, "y":2},
- {"label":"R33", "x":12, "y":2},
- {"label":"R34", "x":13, "y":2},
- {"label":"R35", "x":14, "y":2},
- {"label":"R36", "x":15, "y":2},
- {"label":"R37", "x":16, "y":2},
- {"label":"R42", "x":11, "y":3},
- {"label":"R43", "x":12, "y":3},
- {"label":"R44", "x":13, "y":3},
- {"label":"R45", "x":14, "y":3},
- {"label":"R46", "x":15, "y":3},
- {"label":"R47", "x":16, "y":3},
- {"label":"R54", "x":13, "y":4},
- {"label":"R55", "x":14, "y":4},
- {"label":"R56", "x":15, "y":4},
- {"label":"R57", "x":16, "y":4},
- {"label":"R52", "x":11, "y":5},
- {"label":"R53", "x":12, "y":5},
- {"label":"R62", "x":9, "y":6},
- {"label":"R63", "x":10, "y":6},
- {"label":"R64", "x":9, "y":7},
- {"label":"R65", "x":10, "y":7}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h
deleted file mode 100644
index 29ab59ad66..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-#pragma once
-
-
-#define USE_SERIAL
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c
deleted file mode 100644
index 1378f87232..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _FN 1
-#define _NUMPAD 2
-
-// Some basic macros
-#define TASK LCTL(LSFT(KC_ESC))
-#define TAB_R LCTL(KC_TAB)
-#define TAB_L LCTL(LSFT(KC_TAB))
-#define TAB_RO LCTL(LSFT(KC_T))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT_5x7(
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO,
- OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B,
- KC_CAPS, KC_LGUI, TAB_L, TAB_R,
- TT(_FN), KC_SPC,
- KC_END, KC_HOME,
- KC_PSCR, TASK,
- // right hand
- KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
- KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
- KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
- KC_BSPC, KC_ENT,
- KC_PGUP, KC_PGDN,
- KC_LCTL, KC_LALT),
-
-[_FN] = LAYOUT_5x7(
- // left hand
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET,
- _______, _______, _______, _______, _______, _______,
- KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT,
- _______, _______,
- _______, _______,
- _______, _______,
- // right hand
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- KC_DEL, _______,
- _______, _______,
- _______, _______),
-
-[_NUMPAD] = LAYOUT_5x7(
- // left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
- // right hand
- _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______,
- _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
- _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
- KC_P0, KC_PDOT, _______, _______,
- _______, KC_PENT,
- _______, _______,
- _______, _______),
-
-};
diff --git a/keyboards/handwired/dactyl_manuform/5x7/rules.mk b/keyboards/handwired/dactyl_manuform/5x7/rules.mk
deleted file mode 100644
index 7508070515..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x7/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.c b/keyboards/handwired/dactyl_manuform/6x6/6x6.c
deleted file mode 100644
index 9eb27531a8..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/6x6.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "6x6.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
deleted file mode 100644
index 039e6b40df..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#pragma once
-
-#include "dactyl_manuform.h"
-#include "quantum.h"
-
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-#define LAYOUT_6x6(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
- L52, L53, R52, R53, \
- L54, L55, R50, R51, \
- L64, L65, R60, R61, \
- L62, L63, R62, R63 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { L40, L41, L42, L43, L44, L45 }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
- { KC_NO, KC_NO, L62, L63, L64, L65 }, \
- \
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { R40, R41, R42, R43, R44, R45 }, \
- { R50, R51, R52, R53, KC_NO, KC_NO }, \
- { R60, R61, R62, R63, KC_NO, KC_NO } \
-}
diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h
deleted file mode 100644
index 9bb7b07bf2..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/config.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-
-#define PRODUCT Dactyl-Manuform (6x6)
-
-/* 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 }
diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json
deleted file mode 100644
index e617b39a82..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/info.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "keyboard_name": "Dactyl Manuform 6x6",
- "url": "",
- "maintainer": "qmk",
- "width": 17,
- "height": 9,
- "layouts": {
- "LAYOUT_6x6": {
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
- {"label":"L30", "x":0, "y":3},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"L34", "x":4, "y":3},
- {"label":"L35", "x":5, "y":3},
- {"label":"R30", "x":11, "y":3},
- {"label":"R31", "x":12, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"R34", "x":15, "y":3},
- {"label":"R35", "x":16, "y":3},
- {"label":"L40", "x":0, "y":4},
- {"label":"L41", "x":1, "y":4},
- {"label":"L42", "x":2, "y":4},
- {"label":"L43", "x":3, "y":4},
- {"label":"L44", "x":4, "y":4},
- {"label":"L45", "x":5, "y":4},
- {"label":"R40", "x":11, "y":4},
- {"label":"R41", "x":12, "y":4},
- {"label":"R42", "x":13, "y":4},
- {"label":"R43", "x":14, "y":4},
- {"label":"R44", "x":15, "y":4},
- {"label":"R45", "x":16, "y":4},
- {"label":"L52", "x":2, "y":5},
- {"label":"L53", "x":3, "y":5},
- {"label":"R52", "x":13, "y":5},
- {"label":"R53", "x":14, "y":5},
- {"label":"L54", "x":4, "y":6},
- {"label":"L55", "x":5, "y":6},
- {"label":"R50", "x":11, "y":6},
- {"label":"R51", "x":12, "y":6},
- {"label":"L64", "x":6, "y":7},
- {"label":"L65", "x":7, "y":7},
- {"label":"R60", "x":9, "y":7},
- {"label":"R61", "x":10, "y":7},
- {"label":"L62", "x":6, "y":8},
- {"label":"L63", "x":7, "y":8},
- {"label":"R62", "x":9, "y":8},
- {"label":"R63", "x":10, "y":8}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h
deleted file mode 100644
index 29ab59ad66..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
-#pragma once
-
-
-#define USE_SERIAL
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
deleted file mode 100644
index b78a560086..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_6x6(
-
- KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,
- KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS,
- KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
- KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
- KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
- RAISE,KC_SPC, KC_ENT, LOWER,
- KC_TAB,KC_HOME, KC_END, KC_DEL,
- KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
- ),
-
- [_LOWER] = LAYOUT_6x6(
-
- KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,
- KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
- _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
- _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
- _______,KC_PSCR, _______, KC_P0,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_RAISE] = LAYOUT_6x6(
-
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
- _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
-
- _______,_______, KC_EQL ,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/6x6/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/rules.mk
deleted file mode 100644
index 7508070515..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h
deleted file mode 100644
index 5e7605d3ab..0000000000
--- a/keyboards/handwired/dactyl_manuform/config.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER tshort
-// defined in subfolder
-#define DESCRIPTION A split keyboard for the cheap makers
-
-/* mouse config */
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* serial.c configuration for split keyboard */
-#define SOFT_SERIAL_PIN D0
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* Enables This makes it easier for fast typists to use dual-function keys */
-#define PERMISSIVE_HOLD
-
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D3
-
-#define RGBLED_NUM 12 // Number of LEDs
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.c b/keyboards/handwired/dactyl_manuform/dactyl_manuform.c
deleted file mode 100644
index 043bbd5672..0000000000
--- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "dactyl_manuform.h"
diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
deleted file mode 100644
index eea0757d59..0000000000
--- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#pragma once
-
-#ifdef KEYBOARD_handwired_dactyl_manuform_4x5
- #include "4x5.h"
-#elif KEYBOARD_handwired_dactyl_manuform_4x6
- #include "4x6.h"
-#elif KEYBOARD_handwired_dactyl_manuform_5x6
- #include "5x6.h"
-#elif KEYBOARD_handwired_dactyl_manuform_5x7
- #include "5x7.h"
-#elif KEYBOARD_handwired_dactyl_manuform_6x6
- #include "6x6.h"
-#endif
-
-//void promicro_bootloader_jmp(bool program);
-#include "quantum.h"
-
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-
diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md
deleted file mode 100644
index 3221da0e9d..0000000000
--- a/keyboards/handwired/dactyl_manuform/readme.md
+++ /dev/null
@@ -1,159 +0,0 @@
-Dactyl Manuform (4x5, 5x6, 5x7, 6x6)
-======
-the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link.
-![Imgur](https://i.imgur.com/7y0Vbyd.jpg)
-
-
-## First Time Setup
-
-Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using:
-
-Depending on your Layout chose one of the follwing commands:
-
-```
-$ make handwired/dactyl_manuform/YOUR_LAYOUT:YOUR_KEYMAP_NAME
-```
-
-example:
-```
-$ make handwired/dactyl_manuform/4x5:default
-```
-
-If everything worked correctly you will see a file:
-
-```
-dactyl_manuform_YOUR_LAYOUT_YOUR_KEYMAP_NAME.hex
-```
-
-For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md.
-
-
-## Keymaps
-
-### [Keymaps 4x5](/keyboards/handwired/dactyl_manuform/4x5/keymaps/)
-
-#### Default
-Simple QWERTY layout with 3 Layers.
-#### Dvorak
-
-### [Keymaps 5x6](/keyboards/handwired/dactyl_manuform/5x6/keymaps/)
-
-#### Default
-Just a copy of the Impstyle keymap. Feel free to adjust it.
-
-#### Impstyle
-A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master.
-
-### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/)
-#### Default
-Keymap of Loligagger from geekhack.
-
-### [Keymaps 6x6](/keyboards/handwired/dactyl_manuform/6x6/keymaps/)
-
-#### Default
-Simple QWERTY layout with 3 Layers.
-
-## Required Hardware
-
-Apart from diodes and key switches for the keyboard matrix in each half, you
-will need:
-
-* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each.
-* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable
-
-Alternatively, you can use any sort of cable and socket that has at least 3
-wires. If you want to use I2C to communicate between halves, you will need a
-cable with at least 4 wires and 2x 4.7kΩ pull-up resistors
-
-## Optional Hardware
-A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`.
-
-## Wiring
-
-The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e.
-PD0 on the ATmega32u4) between the two Pro Micros.
-
-Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro
-and modify the `matrix.c` accordingly.
-
-The wiring for serial:
-
-![serial wiring](https://i.imgur.com/C3D1GAQ.png)
-
-The wiring for i2c:
-
-![i2c wiring](https://i.imgur.com/Hbzhc6E.png)
-
-The pull-up resistors may be placed on either half. It is also possible
-to use 4 resistors and have the pull-ups in both halves, but this is
-unnecessary in simple use cases.
-
-You can change your configuration between serial and i2c by modifying your `config.h` file.
-
-## Notes on Software Configuration
-
-the keymaps in here are for the 4x5 layout of the keyboard only.
-
-## Flashing
-
-To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing)
-
-
-## Choosing which board to plug the USB cable into (choosing Master)
-
-Because the two boards are identical, the firmware has logic to differentiate the left and right board.
-
-It uses two strategies to figure things out: looking at the EEPROM (memory on the chip) or looking if the current board has the usb cable.
-
-The EEPROM approach requires additional setup (flashing the eeprom) but allows you to swap the usb cable to either side.
-
-The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra.
-
-### Setting the left hand as master
-
-If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set.
-
-### Setting the right hand as master
-
-If you always plug the usb cable into the right board, add an extra flag to your `config.h`
-```
- #define MASTER_RIGHT
-```
-
-### Setting EE_hands to use either hands as master
-
-If you define `EE_HANDS` in your `config.h`, you will need to set the
-EEPROM for the left and right halves.
-
-The EEPROM is used to store whether the
-half is left handed or right handed. This makes it so that the same firmware
-file will run on both hands instead of having to flash left and right handed
-versions of the firmware to each half. To flash the EEPROM file for the left
-half run:
-```
-make handwired/dactyl_promicro:default:dfu-split-left
-make handwired/dactyl_promicro:default:dfu-split-right
-```
-
-After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash.
-
-Note that you need to program both halves, but you have the option of using
-different keymaps for each half. You could program the left half with a QWERTY
-layout and the right half with a Colemak layout using bootmagic's default layout option.
-Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the
-right half is connected.
-
-
-Notes on Using Pro Micro 3.3V
------------------------------
-
-Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
-the frequency on the 3.3V board.
-
-Also, if the slave board is producing weird characters in certain columns,
-update the following line in `matrix.c` to the following:
-
-```
-// wait_us(30); // without this wait read unstable value.
-wait_us(300); // without this wait read unstable value.
-```
diff --git a/keyboards/handwired/dactyl_manuform/rules.mk b/keyboards/handwired/dactyl_manuform/rules.mk
deleted file mode 100644
index a93de36858..0000000000
--- a/keyboards/handwired/dactyl_manuform/rules.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_promicro/config.h b/keyboards/handwired/dactyl_promicro/config.h
deleted file mode 100644
index f81b3de519..0000000000
--- a/keyboards/handwired/dactyl_promicro/config.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-#define PRODUCT Dactyl Ergo(6x6)
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 6
-
-// wiring of each half
-#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
-#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-//#define MANUFACTURER tshort
-// defined in subfolder
-#define DESCRIPTION A split keyboard
-
-/* mouse config */
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* serial.c configuration for split keyboard */
-#define SOFT_SERIAL_PIN D0
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* Enables This makes it easier for fast typists to use dual-function keys */
-#define PERMISSIVE_HOLD
-
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D3
-
-#define RGBLED_NUM 12 // Number of LEDs
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
diff --git a/keyboards/handwired/dactyl_promicro/dactyl_promicro.c b/keyboards/handwired/dactyl_promicro/dactyl_promicro.c
deleted file mode 100644
index 5d708cf480..0000000000
--- a/keyboards/handwired/dactyl_promicro/dactyl_promicro.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "dactyl_promicro.h"
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
- matrix_init_user();
-}; \ No newline at end of file
diff --git a/keyboards/handwired/dactyl_promicro/dactyl_promicro.h b/keyboards/handwired/dactyl_promicro/dactyl_promicro.h
deleted file mode 100644
index 5dfc42f2a9..0000000000
--- a/keyboards/handwired/dactyl_promicro/dactyl_promicro.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-
-#define LAYOUT_6x6(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
- L55, L51, L52, R53, R54, R50, \
- L53, R52, \
- L54, R51 \
- )\
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { L40, L41, L42, L43, L44, L45 }, \
- { KC_NO, L51, L52, L53, L54, L55 }, \
-\
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { R40, R41, R42, R43, R44, R45 }, \
- { R50, R51, R52, R53, R54, KC_NO }, \
-}
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/config.h b/keyboards/handwired/dactyl_promicro/keymaps/default/config.h
deleted file mode 100644
index ce8f3501ad..0000000000
--- a/keyboards/handwired/dactyl_promicro/keymaps/default/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define USE_SERIAL
-
-#define MASTER_RIGHT
-// #define MASTER_RIGHT
-//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c
deleted file mode 100644
index d396e46762..0000000000
--- a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-
-/* A QWERTY 3 Layer layout for the Dactyl Manuform 6x6 Keyboard */
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- [_QWERTY] = LAYOUT_6x6(
- 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_PLUS , KC_LEFT,KC_UP ,KC_DOWN, KC_RGHT, RAISE , LOWER , KC_HOME, KC_PGUP, KC_PGDN,KC_END ,KC_EQL,
- _______,KC_LALT,KC_PSCR, KC_LGUI, KC_SPC, KC_ENT,KC_GRAVE, KC_AT ,KC_PSCR ,_______
-
- ),
-
-
- [_LOWER] = LAYOUT_6x6(
- 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_PSCR, KC_P0 , KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
-),
-
- [_RAISE] = LAYOUT_6x6(
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
- _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
- ),
-
- };
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h
deleted file mode 100644
index ce8f3501ad..0000000000
--- a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define USE_SERIAL
-
-#define MASTER_RIGHT
-// #define MASTER_RIGHT
-//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c
deleted file mode 100644
index d396e46762..0000000000
--- a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-
-/* A QWERTY 3 Layer layout for the Dactyl Manuform 6x6 Keyboard */
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- [_QWERTY] = LAYOUT_6x6(
- 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_PLUS , KC_LEFT,KC_UP ,KC_DOWN, KC_RGHT, RAISE , LOWER , KC_HOME, KC_PGUP, KC_PGDN,KC_END ,KC_EQL,
- _______,KC_LALT,KC_PSCR, KC_LGUI, KC_SPC, KC_ENT,KC_GRAVE, KC_AT ,KC_PSCR ,_______
-
- ),
-
-
- [_LOWER] = LAYOUT_6x6(
- 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_PSCR, KC_P0 , KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
-),
-
- [_RAISE] = LAYOUT_6x6(
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
- _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
- _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
- ),
-
- };
diff --git a/keyboards/handwired/dactyl_promicro/readme.md b/keyboards/handwired/dactyl_promicro/readme.md
deleted file mode 100644
index a426319b4e..0000000000
--- a/keyboards/handwired/dactyl_promicro/readme.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Dactyl with Arduino Pro Micro
-
-See https://github.com/adereth/dactyl-keyboard for the original Version.
-
-This Dactyl uses the Arduino Pro Mirco (2x).
-Wiring is a 6x6 Matrix like the [Dactyl Manuform](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform)
-
-
-## Build the Firmware:
-
- - Build the firmware with `make handwired/dactyl_promicro:<keymapname>`, for example `make handwired/dactyl:default`
- - This will result in a hex file called `handwired_dactyl_promicro_<keymapname>.hex`, e.g.
- `handwired_dactyl_promicro_default.hex`
-
-How to setup your build enviroment can be found here: [Installing Build Tools](https://docs.qmk.fm/#/getting_started_build_tools)
-
-## Required Hardware
-
-Apart from diodes and key switches for the keyboard matrix in each half, you
-will need:
-
-* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each.
-* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable
-
-Alternatively, you can use any sort of cable and socket that has at least 3
-wires. If you want to use I2C to communicate between halves, you will need a
-cable with at least 4 wires and 2x 4.7kΩ pull-up resistors
-
-## Optional Hardware
-A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`.
-
-## Wiring
-
-The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e.
-PD0 on the ATmega32u4) between the two Pro Micros.
-
-Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro
-and modify the `matrix.c` accordingly.
-
-The wiring for serial:
-
-![serial wiring](https://i.imgur.com/C3D1GAQ.png)
-
-The wiring for i2c:
-
-![i2c wiring](https://i.imgur.com/Hbzhc6E.png)
-
-The pull-up resistors may be placed on either half. It is also possible
-to use 4 resistors and have the pull-ups in both halves, but this is
-unnecessary in simple use cases.
-
-You can change your configuration between serial and i2c by modifying your `config.h` file.
-
-## Notes on Software Configuration
-
-the keymaps in here are for the 4x5 layout of the keyboard only.
-
-## Flashing
-
-To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing).
-
-Under Windows the most convenient way is installing the [QMK Drivers](https://github.com/qmk/qmk_driver_installer/releases) and use the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases).
-
-
-## Choosing which board to plug the USB cable into (choosing Master)
-
-### Setting the right or left hand as master
-
-If you always plug the usb cable into the right board, add an extra flag to your `config.h`
-```
- #define MASTER_RIGHT
-```
-
-OR
-
-```
- #define MASTER_LEFT
-```
-
-
-Notes on Using Pro Micro 3.3V
------------------------------
-
-Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
-the frequency on the 3.3V board.
-
-Also, if the slave board is producing weird characters in certain columns,
-update the following line in `matrix.c` to the following:
-
-```
-// _delay_us(30); // without this wait read unstable value.
-_delay_us(300); // without this wait read unstable value.
-```
diff --git a/keyboards/handwired/dactyl_promicro/rules.mk b/keyboards/handwired/dactyl_promicro/rules.mk
deleted file mode 100644
index a93de36858..0000000000
--- a/keyboards/handwired/dactyl_promicro/rules.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/datahand/config.h b/keyboards/handwired/datahand/config.h
deleted file mode 100644
index a269775f35..0000000000
--- a/keyboards/handwired/datahand/config.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Copyright 2017-2019 Nikolaus Wittenstein <nikolaus.wittenstein@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-/* Taken from the DataHand PS/2-USB adaptor. */
-#define VENDOR_ID 0x13BA
-#define PRODUCT_ID 0x0017
-#define DEVICE_VER 0x0001
-#define MANUFACTURER DataHand
-#define PRODUCT DataHand
-#define DESCRIPTION DataHand Teensy++ 2.0 conversion
-
-/* key matrix size */
-#define MATRIX_ROWS 13
-#define MATRIX_COLS 4
-
-//#define DIODE_DIRECTION
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 0
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- */
-#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- */
-
-/*
- * Command/Windows key option
- *
- * If you define this, the thumb enter key becomes the Command/Windows key. There's still an enter key on the right
- * ring finger, so this key is much better utilized as the otherwise nonexistent Command key. I think some newer
- * DataHands let you remap right ring east as Command, but having it on the thumb is nicer. Comment out this define
- * to use the original layout.
- */
-#define DATAHAND_THUMB_RETURN_COMMAND
diff --git a/keyboards/handwired/datahand/datahand.h b/keyboards/handwired/datahand/datahand.h
deleted file mode 100644
index cb9a4d3e3b..0000000000
--- a/keyboards/handwired/datahand/datahand.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* Copyright 2017-2019 Nikolaus Wittenstein <nikolaus.wittenstein@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-/* This a shortcut to help you visually see your layout.
- * The first section contains all of the arguements; the second converts the arguments into a two-dimensional array.
- */
-
-/* Each code is three letters
- * l or r - left or right hand
- * p, r, m, i, t - pinky, ring finger, middle finger, index finger, thumb
- * fingers: n, s, e, w, c - north, south, east, west, and center (manual calls this "well" but we already have "west")
- * thumb: p, n, c, l, u, k - pad, nail, center, lock (harder center), up, knuckle
- */
-#define LAYOUT( \
- lpn, lrn, lmn, lin, rin, rmn, rrn, rpn, \
-lpw, lpc, lpe, lrw, lrc, lre, lmw, lmc, lme, liw, lic, lie, riw, ric, rie, rmw, rmc, rme, rrw, rrc, rre, rpw, rpc, rpe, \
- lps, lrs, lms, lis, ris, rms, rrs, rps, \
- ltp, ltn, rtn, rtp, \
- ltc, rtc, \
- ltl, rtl, \
- ltu, ltk, rtk, rtu) \
-{ \
- {riw, rin, lpw, lpn},\
- {ric, rie, lpc, lpe},\
- {ris, rms, lps, lrs},\
- {rmw, rmn, lrw, lrn},\
- {rmc, rme, lrc, lre},\
- {rrw, rrn, lmw, lmn},\
- {rrc, rre, lmc, lme},\
- {rrs, rps, lms, lis},\
- {rpw, rpn, liw, lin},\
- {rpc, rpe, lic, lie},\
- {rtk, rtn, ltk, ltn},\
- {rtc, rtl, ltc, ltl},\
- {rtp, rtu, ltp, ltu},\
-}
-
-/* Mode LEDs are active-low on Port B on the Teensy. */
-#define LED_MODE_PORT PORTB
-#define LED_TENKEY (1<<3)
-#define LED_FN (1<<4)
-#define LED_NORMAL (1<<5)
-#define LED_NAS (1<<6)
-
-/* Lock LEDs are active-low on Port F on the Teensy. */
-#define LED_LOCK_PORT PORTF
-#define LED_CAPS_LOCK (1<<4)
-#define LED_MOUSE_LOCK (1<<5)
-#define LED_NUM_LOCK (1<<6)
-#define LED_SCROLL_LOCK (1<<7)
-
-
-/* Appendix:
- * Table based on https://geekhack.org/index.php?topic=12212.msg2059319#msg2059319
- * Some pin assignments (e.g. for PS/2 I/O) have been fixed.
- *
- * Teensy Datahand 8051 pin pin 8051 Datahand Teensy
- * ------ -------- ---- --- --- ---- -------- ------
- * GND Mtrx send A P1.0 1 40 VCC VCC VCC
- * PB7 Mtrx send B P1.1 2 39 P0.0 LED RH NAS PB6
- * PD0 Mtrx send C P1.2 3 38 P0.1 LED RH NORM PB5
- * PD1 Mtrx send D P1.3 4 37 P0.2 LED RH FCTN PB4
- * PD2 RH rcv 0 P1.4 5 36 P0.3 LED RH 10K PB3
- * PD3 RH rcv 1 P1.5 6 35 P0.4 LED RH unused PB2
- * PD4 LH rcv 0 P1.6 7 34 P0.5 LED RH unused PE1
- * PD5 LH rcv 1 P1.7 8 33 P0.6 LED RH unused PE0
- * PD6 Reset button RST 9 32 P0.7 ? PE7
- * PD7 ? P3.0 10 31 VPP - PE6
- * PE0 ? P3.1 11 30 ALE - GND
- * PE1 kbd data P3.2 12 29 PSEN - AREF
- * PC0 ? P3.3 13 28 P2.7 ? PF0
- * PC1 kbd clk P3.4 14 27 P2.6 ? PF1
- * PC2 ? P3.5 15 26 P2.5 ? PF2
- * PC3 RAM P3.6 16 25 P2.4 ? PF3
- * PC4 RAM P3.7 17 24 P2.3 LED D15 LH (CAPLK) PF4
- * PC5 XTAL2 XTAL2 18 23 P2.2 LED D13 LH (MSELK) PF5
- * PC6 XTAL1 XTAL1 19 22 P2.1 LED D6 LH (NUMLK) PF6
- * PC7 GND GND 20 21 P2.0 LED D14 LH (SCRLK) PF7
- *
- * JP3 Pinout
- * 2 - keyboard data
- * 3 - keyboard clock
- *
- * In order to get the Teensy to work, we need to move pin 1 to a different pin. This is
- * because on the Teensy pin 1 is ground, but we need to write to pin 1 in order to read
- * the keyboard matrix. An ideal pin to move it to is VPP (pin 31), because this pin tells
- * the 8051 whether it should read from external or internal memory. The Teensy doesn't
- * care about that.
- *
- * The easiest way to reassign the pin is to use standoffs. You can check out this thread:
- * https://geekhack.org/index.php?topic=12212.msg235382#msg235382 for a picture of what
- * this looks like. Note that in the picture the pin has been reassigned to pin 12. We
- * don't want to do that because we're going to use that pin to send data over PS/2.
- *
- * We could if we wanted also reassign the PS/2 pins to Teensy hardware UART pins, but
- * that's more work. Instead we'll just bit-bang PS/2 because it's an old, slow protocol
- * (and because there's already a bit-banged PS/2 host implementation in QMK - we just
- * need to add the device side).
- *
- * So overall, we want the following inputs and outputs:
- * Outputs:
- * Matrix:
- * PB7
- * PD0
- * PD1
- * PE6 (moved from pin1, GND)
- * LEDs:
- * PB3-6
- * PF4-7
- * Inputs:
- * Matrix:
- * PD2-5
- * I/Os (start up as inputs):
- * PS/2:
- * PC1
- * PE1
- */
diff --git a/keyboards/handwired/datahand/keymaps/default/keymap.c b/keyboards/handwired/datahand/keymaps/default/keymap.c
deleted file mode 100644
index 8f44535594..0000000000
--- a/keyboards/handwired/datahand/keymaps/default/keymap.c
+++ /dev/null
@@ -1,313 +0,0 @@
-/* Copyright 2017-2019 Nikolaus Wittenstein <nikolaus.wittenstein@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include QMK_KEYBOARD_H
-
-#include <stdbool.h>
-
-/* Datahand features not supported:
- * * All online reprogramming (user settings using the reset button).
- * * Program Selection features.
- * * Macros.
- * * Direct substitutions.
- * * L/R Modf.
- * * Mouse Click Lock (Function Direct Access + Mouse Button key).
- * * Different mouse movement speeds with the two pointer fingers, and using both pointer fingers to move even faster.
- *
- * As far as I know, everything else works.
- */
-
-enum layer {
- NORMAL,
-#ifdef DATAHAND_THUMB_RETURN_COMMAND
- NORMAL_THUMB_RETURN_COMMAND,
-#endif
- FUNCTION_MOUSE,
- FUNCTION_ARROWS,
- NAS,
- NAS_NUMLOCK,
- NAS_TENKEY,
- NAS_TENKEY_NUMLOCK,
-
- NUM_LAYERS
-};
-
-enum custom_keycodes {
- N = SAFE_RANGE, /* Normal */
- NS, /* NAS */
- NSL, /* NAS Lock */
- NLK, /* Numlock */
- FN, /* Function mode - needs to be able to switch to mouse or arrow layer */
- TK0, /* Ten-key off button */
- TK1, /* Ten-key on button */
- AR, /* FN arrow mode */
- MS, /* FN mouse mode */
- DZ, /* Double zero button */
-};
-
-static bool mouse_enabled = true;
-static bool tenkey_enabled = false;
-static bool numlock_enabled = false;
-static bool nas_locked = false;
-
-/* Declared weak so that it can easily be overridden. */
-__attribute__((weak)) const uint16_t PROGMEM keymaps[NUM_LAYERS][MATRIX_ROWS][MATRIX_COLS] = {
-[NORMAL] = LAYOUT(
- KC_Q, KC_W, KC_E, KC_R, KC_U, KC_I, KC_O, KC_P,
-KC_DEL, KC_A, KC_LBRC, KC_ESC, KC_S, KC_B, KC_GRV, KC_D, KC_T, KC_DQT, KC_F, KC_G, KC_H, KC_J, KC_QUOT, KC_Y, KC_K, KC_COLN, KC_N, KC_L, KC_ENT, KC_RBRC, KC_SCLN, KC_BSLS,
- KC_Z, KC_X, KC_C, KC_V, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_ENT, KC_TAB, KC_BSPC, KC_SPC,
- KC_LSFT, NS,
- KC_CAPS, NSL,
- N, KC_LCTL, KC_LALT, FN),
-
-#ifdef DATAHAND_THUMB_RETURN_COMMAND
-[NORMAL_THUMB_RETURN_COMMAND] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______,
-_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LCMD, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______, _______, _______),
-#endif
-
-[FUNCTION_MOUSE] = LAYOUT(
- KC_F2, KC_F4, KC_F6, KC_MS_U, KC_MS_U, KC_F8, KC_F10, KC_PGUP,
-_______, KC_NO, KC_SLCK, _______, KC_BTN3, NLK, KC_BTN1, MS, KC_BTN2, KC_MS_L, KC_BTN1, KC_MS_R, KC_MS_L, KC_BTN2, KC_MS_R, KC_END, AR, KC_LSFT, KC_INS, KC_9, KC_ENT, KC_F11, KC_0, KC_F12,
- KC_F1, KC_F3, KC_F5, KC_MS_D, KC_MS_D, KC_F7, KC_F9, KC_PGDN,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______, _______, _______),
-[FUNCTION_ARROWS] = LAYOUT(
- _______, _______, _______, KC_UP, KC_UP, _______, _______, _______,
-_______, _______, _______, _______, KC_LCTL, _______, _______, _______, _______, KC_LEFT, KC_HOME, KC_RGHT, KC_LEFT, KC_HOME, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_DOWN, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______, _______, _______),
-[NAS] = LAYOUT(
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
-_______, KC_1, KC_TILD, _______, KC_2, NLK, KC_LABK, KC_3, KC_RABK, KC_SLSH, KC_4, KC_5, KC_6, KC_7, KC_UNDS, KC_CIRC, KC_8, KC_ENT, KC_SCLN, KC_9, KC_BSLS, TK0, KC_0, TK1,
- KC_EQL, KC_X, KC_PERC, KC_MINS, KC_PLUS, KC_DOT, KC_SLSH, KC_QUES,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______, _______, _______),
-[NAS_NUMLOCK] = LAYOUT(
- _______, _______, _______, _______, _______, KC_PAST, _______, _______,
-_______, KC_KP_1, _______, _______, KC_KP_2, _______, _______, KC_KP_3, _______, KC_PSLS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, _______, _______, KC_KP_8, _______, _______, KC_KP_9, KC_PENT, _______, KC_KP_0, _______,
- KC_PEQL, _______, _______, KC_PMNS, KC_PPLS, _______, KC_PDOT, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______, _______, _______),
-[NAS_TENKEY] = LAYOUT(
- _______, _______, _______, KC_UP, KC_7, KC_8, KC_9, KC_ASTR,
-_______, KC_QUOT, _______, _______, KC_DLR, _______, _______, KC_AMPR, _______, KC_LEFT, KC_HOME, KC_RGHT, KC_0, KC_4, DZ, KC_PLUS, KC_5, KC_MINS, KC_EQL, KC_6, KC_ENT, _______, KC_DOT, _______,
- KC_LPRN, KC_RPRN, _______, KC_DOWN, KC_1, KC_2, KC_3, KC_SLSH,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______, _______, _______),
-[NAS_TENKEY_NUMLOCK] = LAYOUT(
- _______, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PAST,
-_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_KP_4, _______, KC_PPLS, KC_KP_5, KC_PMNS, KC_PEQL, KC_KP_6, KC_PENT, _______, KC_PDOT, _______,
- _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PSLS,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______, _______, _______),
-};
-
-static void lock_led_set(bool on, uint8_t led) {
- if (on) {
- LED_LOCK_PORT &= ~led;
- } else {
- LED_LOCK_PORT |= led;
- }
-}
-
-static void mode_led_set(uint8_t led) {
- static const uint8_t ALL_MODE_LEDS = LED_FN | LED_NORMAL | LED_NAS | LED_TENKEY;
- LED_MODE_PORT |= ALL_MODE_LEDS;
- LED_MODE_PORT &= ~led;
-}
-
-static void layer_set(bool on, uint8_t layer) {
- if (on) {
- layer_on(layer);
- } else {
- layer_off(layer);
- }
-
- if (layer_state_is(NAS) || layer_state_is(NAS_NUMLOCK) || layer_state_is(NAS_TENKEY) || layer_state_is(NAS_TENKEY_NUMLOCK)) {
- if (tenkey_enabled) {
- mode_led_set(LED_NAS | LED_TENKEY);
- } else {
- mode_led_set(LED_NAS);
- }
- } else if (layer_state_is(FUNCTION_MOUSE) || layer_state_is(FUNCTION_ARROWS)) {
- mode_led_set(LED_FN);
- } else if (layer_state_is(NORMAL)) {
- mode_led_set(LED_NORMAL);
- }
-}
-
-static void set_normal(void) {
- layer_move(NORMAL);
-
-#ifdef DATAHAND_THUMB_RETURN_COMMAND
- layer_set(true, NORMAL_THUMB_RETURN_COMMAND);
-#endif
-
- /* Then call layer_set to update LEDs. */
- layer_set(true, NORMAL);
-}
-
-static void set_nas(bool on) {
- /* Always turn on the base NAS layer so other layers can fall through. */
- layer_set(on, NAS);
-
- layer_set(on && numlock_enabled, NAS_NUMLOCK);
- layer_set(on && tenkey_enabled, NAS_TENKEY);
- layer_set(on && tenkey_enabled && numlock_enabled, NAS_TENKEY_NUMLOCK);
-}
-
-static void set_tenkey(bool on) {
- tenkey_enabled = on;
-
- /* We have to be on the NAS layer in order to be able to toggle TK.
- * Re-toggle it on so that we move to the right layer (and set the right LED).
- */
- set_nas(true);
-}
-
-static void toggle_numlock(void) {
- numlock_enabled = !numlock_enabled;
- lock_led_set(numlock_enabled, LED_NUM_LOCK);
-
- if (layer_state_is(NAS)) {
- /* If we're already in NAS, re-set it so that we activate the numlock layer. */
- set_nas(true);
- }
-}
-
-static void set_function(void) {
- /* Make sure to turn off NAS if we're entering function */
- set_nas(false);
-
- /* Always turn on the mouse layer so the arrow layer can fall through. */
- layer_set(true, FUNCTION_MOUSE);
- layer_set(!mouse_enabled, FUNCTION_ARROWS);
-}
-
-static void set_mouse_enabled(bool on) {
- mouse_enabled = on;
-
- /* Re-run set_function to set our layers correctly. */
- set_function();
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- bool pressed = record->event.pressed;
-
- switch(keycode) {
- case N:
- if (pressed) {
- set_normal();
- }
- break;
-
- case NS:
- if (pressed) {
- nas_locked = false;
- }
- set_nas(pressed);
- break;
-
- case NSL:
- if (pressed) {
- nas_locked = true;
- set_nas(true);
- }
- break;
-
- case NLK:
- if (pressed) {
- toggle_numlock();
- SEND_STRING(SS_DOWN(X_NUMLOCK));
- } else {
- SEND_STRING(SS_UP(X_NUMLOCK));
- }
- break;
-
- case FN:
- if (pressed) {
- set_function();
- }
- break;
-
- case TK0:
- if (pressed) {
- set_tenkey(false);
- }
- break;
-
- case TK1:
- if (pressed) {
- set_tenkey(true);
- }
- break;
-
- case MS:
- if (pressed) {
- set_mouse_enabled(true);
- }
- break;
-
- case AR:
- if (pressed) {
- set_mouse_enabled(false);
- }
- break;
-
- case DZ:
- if (pressed) {
- SEND_STRING(SS_TAP(X_KP_0) SS_TAP(X_KP_0));
- }
- break;
- }
-
- return true;
-};
-
-void matrix_init_user(void) {
-#ifdef DATAHAND_THUMB_RETURN_COMMAND
- set_normal();
-#endif
-}
-
-void matrix_scan_user(void) {
-
-}
-
-void led_set_user(uint8_t usb_led) {
- lock_led_set(usb_led & (1<<USB_LED_NUM_LOCK), LED_NUM_LOCK);
- lock_led_set(usb_led & (1<<USB_LED_CAPS_LOCK), LED_CAPS_LOCK);
- lock_led_set(usb_led & (1<<USB_LED_SCROLL_LOCK), LED_SCROLL_LOCK);
-}
diff --git a/keyboards/handwired/datahand/matrix.c b/keyboards/handwired/datahand/matrix.c
deleted file mode 100644
index a08450d779..0000000000
--- a/keyboards/handwired/datahand/matrix.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Copyright 2017-2019 Nikolaus Wittenstein <nikolaus.wittenstein@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "datahand.h"
-
-#include "matrix.h"
-#include "action.h"
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <avr/io.h>
-
-static matrix_row_t matrix[MATRIX_ROWS];
-
-static matrix_row_t read_cols(void);
-static void select_row(uint8_t row);
-
-void matrix_init(void) {
- /* See datahand.h for more detail on pins. */
-
- /* 7 - matrix scan; 6-3 - mode LEDs */
- DDRB = 0b11111000;
-
- /* 1-0 - matrix scan */
- DDRD = 0b00000011;
-
- /* 6 - matrix scan */
- DDRE = 0b01000000;
-
- /* 7-4 - lock LEDs */
- DDRF = 0b11110000;
-
- /* Turn off the non-Normal LEDs (they're active low). */
- PORTB |= LED_TENKEY | LED_FN | LED_NAS;
-
- /* Turn off the lock LEDs. */
- PORTF |= LED_CAPS_LOCK | LED_NUM_LOCK | LED_SCROLL_LOCK | LED_MOUSE_LOCK;
-
- matrix_init_user();
-}
-
-uint8_t matrix_scan(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- select_row(row);
- /* The default hardware works down to at least 100us, but I have a replacement
- * photodiode that responds a little more slowly. Cranking it up to 1000us fixes
- * shadowing issues.
- */
- _delay_us(1000);
- matrix[row] = read_cols();
- }
-
- matrix_scan_user();
-
- return 1;
-}
-
-matrix_row_t matrix_get_row(uint8_t row) {
- return matrix[row];
-}
-
-void matrix_print(void) {
- print("\nr/c 01234567\n");
-
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row);
- print(": ");
- print_bin_reverse8(matrix_get_row(row));
- print("\n");
- }
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- return process_record_user(keycode, record);
-}
-
-static void select_row(uint8_t row) {
- /* Original 8051: P1 bits 0-3 (pins 1-4)
- * Teensy++: PE0, PB7, PD0, PD1
- */
-
- if (row & (1<<0)) {
- PORTE |= (1<<6);
- } else {
- PORTE &= ~(1<<6);
- }
-
- if (row & (1<<1)) {
- PORTB |= (1<<7);
- } else {
- PORTB &= ~(1<<7);
- }
-
- if (row & (1<<2)) {
- PORTD |= (1<<0);
- } else {
- PORTD &= ~(1<<0);
- }
-
- if (row & (1<<3)) {
- PORTD |= (1<<1);
- } else {
- PORTD &= ~(1<<1);
- }
-}
-
-static matrix_row_t read_cols(void) {
- /* Original 8051: P1 bits 4-7 (pins 5-8)
- * Teensy++: PD bits 2-5
- */
-
- return (PIND & 0b00111100) >> 2;
-}
diff --git a/keyboards/handwired/datahand/readme.md b/keyboards/handwired/datahand/readme.md
deleted file mode 100644
index 923cebb00e..0000000000
--- a/keyboards/handwired/datahand/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# DataHand
-
-A keyboard designed to prevent RSI. See [Wikipedia](https://en.wikipedia.org/wiki/DataHand) and [this website](http://octopup.org/computer/datahand) for more info.
-
-To use this firmware, you have to replace the stock microcontroller with a Teensy++ 2.0. This is relatively easy and also reversible. See the notes at the bottom of datahand.h for more info.
-
-Keyboard Maintainer: [Nikolaus Wittenstein](https://github.com/adzenith)
-Hardware Supported: DataHand Personal or Pro II
-Hardware Availability: No longer in production
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/datahand: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/datahand/rules.mk b/keyboards/handwired/datahand/rules.mk
deleted file mode 100644
index 59f14e17a4..0000000000
--- a/keyboards/handwired/datahand/rules.mk
+++ /dev/null
@@ -1,59 +0,0 @@
-# Project-specific includes
-SRC = matrix.c
-
-# MCU name
-MCU = at90usb1286
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-BOOTLOADER = halfkay
-
-# Build Options
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-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
diff --git a/keyboards/handwired/downbubble/config.h b/keyboards/handwired/downbubble/config.h
deleted file mode 100644
index 4b2bd92e4d..0000000000
--- a/keyboards/handwired/downbubble/config.h
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
-Copyright 2018 Don Chiou
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have 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 Flehrad
-#define PRODUCT downbubble
-#define DESCRIPTION An Ergonomic Centered Numpad Keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 20
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F1, F2, F3, F4, F5, F6 }
-#define MATRIX_COL_PINS { F7, C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, D6, D5, D4, D3, D2, D1, D0, B7 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-// #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
-// #endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-/*
- * HD44780 LCD Display Configuration
- */
-/*
-#define LCD_LINES 2 //< number of visible lines of the display
-#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
-
-#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
-
-#if LCD_IO_MODE
-#define LCD_PORT PORTB //< port for the LCD lines
-#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
-#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
-#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
-#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
-#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
-#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
-#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
-#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
-#define LCD_RS_PORT LCD_PORT //< port for RS line
-#define LCD_RS_PIN 3 //< pin for RS line
-#define LCD_RW_PORT LCD_PORT //< port for RW line
-#define LCD_RW_PIN 2 //< pin for RW line
-#define LCD_E_PORT LCD_PORT //< port for Enable line
-#define LCD_E_PIN 1 //< pin for Enable line
-#endif
-*/
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/downbubble/downbubble.c b/keyboards/handwired/downbubble/downbubble.c
deleted file mode 100644
index 48be8e4998..0000000000
--- a/keyboards/handwired/downbubble/downbubble.c
+++ /dev/null
@@ -1,16 +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/>.
- */
-#include "downbubble.h"
diff --git a/keyboards/handwired/downbubble/downbubble.h b/keyboards/handwired/downbubble/downbubble.h
deleted file mode 100644
index 0df39dd9ee..0000000000
--- a/keyboards/handwired/downbubble/downbubble.h
+++ /dev/null
@@ -1,111 +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
-
-#include "quantum.h"
-
-/* This a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT_standard( \
- K00, K01, K02, K03, K04, K05, K06, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019,\
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K118, K119,\
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219,\
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K29, K310, K311, K312, K313, K314, K315, K317, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K410, K411, K412, K413, K414, K416, K418, \
- K50, K51, K52, K53, K54, K56, K58, K49, K510, K512, K513, K514, K516, K517, K518, K519 \
-) \
-{ \
- { K00, K01, K02, K03, K04, K05, K06, KC_NO, KC_NO, KC_NO, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, KC_NO, K118, K119 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, KC_NO, K310, K311, K312, K313, K314, K315, KC_NO, K317, KC_NO, KC_NO }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, KC_NO, K416, KC_NO, K418, KC_NO }, \
- { K50, K51, K52, K53, K54, KC_NO, K56, KC_NO, K58, KC_NO, K510, KC_NO, K512, K513, K514, KC_NO, K516, K517, K518, K519 }, \
- }
-
-#define LAYOUT_split_bs( \
- K00, K01, K02, K03, K04, K05, K06, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019,\
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119,\
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219,\
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K29, K310, K311, K312, K313, K314, K315, K317, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K410, K411, K412, K413, K414, K416, K418, \
- K50, K51, K52, K53, K54, K56, K58, K49, K510, K512, K513, K514, K516, K517, K518, K519 \
-) \
-{ \
- { K00, K01, K02, K03, K04, K05, K06, KC_NO, KC_NO, KC_NO, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, KC_NO, K310, K311, K312, K313, K314, K315, KC_NO, K317, KC_NO, KC_NO }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, KC_NO, K416, KC_NO, K418, KC_NO }, \
- { K50, K51, K52, K53, K54, KC_NO, K56, KC_NO, K58, KC_NO, K510, KC_NO, K512, K513, K514, KC_NO, K516, K517, K518, K519 }, \
- }
-
-#define LAYOUT_split_rshift( \
- K00, K01, K02, K03, K04, K05, K06, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019,\
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K118, K119,\
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219,\
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K29, K310, K311, K312, K313, K314, K315, K317, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K410, K411, K412, K413, K414, K416, K417, K418, \
- K50, K51, K52, K53, K54, K56, K58, K49, K510, K512, K513, K514, K516, K517, K518, K519 \
-) \
-{ \
- { K00, K01, K02, K03, K04, K05, K06, KC_NO, KC_NO, KC_NO, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, KC_NO, K118, K119 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, KC_NO, K310, K311, K312, K313, K314, K315, KC_NO, K317, KC_NO, KC_NO }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, KC_NO, K416, K417, K418, KC_NO }, \
- { K50, K51, K52, K53, K54, KC_NO, K56, KC_NO, K58, KC_NO, K510, KC_NO, K512, K513, K514, KC_NO, K516, K517, K518, K519 }, \
- }
-
-#define LAYOUT_split_numpad( \
- K00, K01, K02, K03, K04, K05, K06, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019,\
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K118, K119,\
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219,\
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K317, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K416, K418, \
- K50, K51, K52, K53, K54, K56, K57, K58, K59, K510, K512, K513, K514, K516, K517, K518, K519 \
-) \
-{ \
- { K00, K01, K02, K03, K04, K05, K06, KC_NO, KC_NO, KC_NO, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, KC_NO, K118, K119 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, KC_NO, K317, KC_NO, KC_NO }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, KC_NO, K416, KC_NO, K418, KC_NO }, \
- { K50, K51, K52, K53, K54, KC_NO, K56, K57, K58, K59, K510, KC_NO, K512, K513, K514, KC_NO, K516, K517, K518, K519 }, \
- }
-
-#define LAYOUT_all( \
- K00, K01, K02, K03, K04, K05, K06, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019,\
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119,\
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219,\
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, K317, \
- K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, K416, K417, K418, \
- K50, K51, K52, K53, K54, K56, K57, K58, K59, K510, K512, K513, K514, K516, K517, K518, K519 \
-) \
-{ \
- { K00, K01, K02, K03, K04, K05, K06, KC_NO, KC_NO, KC_NO, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, K313, K314, K315, KC_NO, K317, KC_NO, KC_NO }, \
- { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K410, K411, K412, K413, K414, KC_NO, K416, K417, K418, KC_NO }, \
- { K50, K51, K52, K53, K54, KC_NO, K56, K57, K58, K59, K510, KC_NO, K512, K513, K514, KC_NO, K516, K517, K518, K519 }, \
- }
diff --git a/keyboards/handwired/downbubble/info.json b/keyboards/handwired/downbubble/info.json
deleted file mode 100644
index c5cd97de54..0000000000
--- a/keyboards/handwired/downbubble/info.json
+++ /dev/null
@@ -1,559 +0,0 @@
-{
- "keyboard_name": "downbubble",
- "url": "",
- "maintainer": "flehrad",
- "width": 22.75,
- "height": 6,
- "layouts": {
- "LAYOUT_standard": {
- "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":"K010", "x":12.75, "y":0},
- {"label":"K011", "x":13.75, "y":0},
- {"label":"K012", "x":14.75, "y":0},
- {"label":"K013", "x":15.75, "y":0},
- {"label":"K014", "x":16.75, "y":0},
- {"label":"K015", "x":17.75, "y":0},
- {"label":"K016", "x":18.75, "y":0},
- {"label":"K017", "x":19.75, "y":0},
- {"label":"K018", "x":20.75, "y":0},
- {"label":"K019", "x":21.75, "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":8.75, "y":1},
- {"label":"K18", "x":9.75, "y":1},
- {"label":"K19", "x":10.75, "y":1},
- {"label":"K110", "x":12.75, "y":1},
- {"label":"K111", "x":13.75, "y":1},
- {"label":"K112", "x":14.75, "y":1},
- {"label":"K113", "x":15.75, "y":1},
- {"label":"K114", "x":16.75, "y":1},
- {"label":"K115", "x":17.75, "y":1},
- {"label":"K116", "x":18.75, "y":1, "w":2},
- {"label":"K118", "x":20.75, "y":1},
- {"label":"K119", "x":21.75, "y":1},
- {"label":"K20", "x":0, "y":2, "w":1.5},
- {"label":"K21", "x":1.5, "y":2},
- {"label":"K22", "x":2.5, "y":2},
- {"label":"K23", "x":3.5, "y":2},
- {"label":"K24", "x":4.5, "y":2},
- {"label":"K25", "x":5.5, "y":2},
- {"label":"K26", "x":7.75, "y":2},
- {"label":"K17", "x":8.75, "y":2},
- {"label":"K28", "x":9.75, "y":2},
- {"label":"K210", "x":12.25, "y":2},
- {"label":"K211", "x":13.25, "y":2},
- {"label":"K212", "x":14.25, "y":2},
- {"label":"K213", "x":15.25, "y":2},
- {"label":"K214", "x":16.25, "y":2},
- {"label":"K215", "x":17.25, "y":2},
- {"label":"K216", "x":18.25, "y":2},
- {"label":"K217", "x":19.25, "y":2, "w":1.5},
- {"label":"K218", "x":20.75, "y":2},
- {"label":"K219", "x":21.75, "y":2},
- {"label":"K30", "x":0, "y":3, "w":1.75},
- {"label":"K31", "x":1.75, "y":3},
- {"label":"K32", "x":2.75, "y":3},
- {"label":"K33", "x":3.75, "y":3},
- {"label":"K34", "x":4.75, "y":3},
- {"label":"K35", "x":5.75, "y":3},
- {"label":"K36", "x":7.75, "y":3},
- {"label":"K37", "x":8.75, "y":3},
- {"label":"K38", "x":9.75, "y":3},
- {"label":"K29", "x":10.75, "y":2, "h":2},
- {"label":"K310", "x":12.5, "y":3},
- {"label":"K311", "x":13.5, "y":3},
- {"label":"K312", "x":14.5, "y":3},
- {"label":"K313", "x":15.5, "y":3},
- {"label":"K314", "x":16.5, "y":3},
- {"label":"K315", "x":17.5, "y":3},
- {"label":"K317", "x":18.5, "y":3, "w":2.25},
- {"label":"K40", "x":0, "y":4, "w":2.25},
- {"label":"K41", "x":2.25, "y":4},
- {"label":"K42", "x":3.25, "y":4},
- {"label":"K43", "x":4.25, "y":4},
- {"label":"K44", "x":5.25, "y":4},
- {"label":"K45", "x":6.25, "y":4},
- {"label":"K46", "x":7.75, "y":4},
- {"label":"K47", "x":8.75, "y":4},
- {"label":"K48", "x":9.75, "y":4},
- {"label":"K410", "x":13, "y":4},
- {"label":"K411", "x":14, "y":4},
- {"label":"K412", "x":15, "y":4},
- {"label":"K413", "x":16, "y":4},
- {"label":"K414", "x":17, "y":4},
- {"label":"K416", "x":18, "y":4, "w":2.75},
- {"label":"K418", "x":20.75, "y":4},
- {"label":"K50", "x":0, "y":5, "w":1.25},
- {"label":"K51", "x":1.25, "y":5, "w":1.25},
- {"label":"K52", "x":2.5, "y":5, "w":1.25},
- {"label":"K53", "x":3.75, "y":5, "w":1.25},
- {"label":"K54", "x":5, "y":5, "w":2.25},
- {"label":"K56", "x":7.75, "y":5, "w":2},
- {"label":"K58", "x":9.75, "y":5},
- {"label":"K49", "x":10.75, "y":4, "h":2},
- {"label":"K510", "x":13, "y":5, "w":2},
- {"label":"K512", "x":15, "y":5, "w":1.25},
- {"label":"K513", "x":16.25, "y":5, "w":1.25},
- {"label":"K514", "x":17.5, "y":5, "w":1.25},
- {"label":"K516", "x":18.75, "y":5},
- {"label":"K517", "x":19.75, "y":5},
- {"label":"K518", "x":20.75, "y":5},
- {"label":"K519", "x":21.75, "y":5}
- ]
- },
- "LAYOUT_split_bs": {
- "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":"K010", "x":12.75, "y":0},
- {"label":"K011", "x":13.75, "y":0},
- {"label":"K012", "x":14.75, "y":0},
- {"label":"K013", "x":15.75, "y":0},
- {"label":"K014", "x":16.75, "y":0},
- {"label":"K015", "x":17.75, "y":0},
- {"label":"K016", "x":18.75, "y":0},
- {"label":"K017", "x":19.75, "y":0},
- {"label":"K018", "x":20.75, "y":0},
- {"label":"K019", "x":21.75, "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":8.75, "y":1},
- {"label":"K18", "x":9.75, "y":1},
- {"label":"K19", "x":10.75, "y":1},
- {"label":"K110", "x":12.75, "y":1},
- {"label":"K111", "x":13.75, "y":1},
- {"label":"K112", "x":14.75, "y":1},
- {"label":"K113", "x":15.75, "y":1},
- {"label":"K114", "x":16.75, "y":1},
- {"label":"K115", "x":17.75, "y":1},
- {"label":"K116", "x":18.75, "y":1},
- {"label":"K117", "x":19.75, "y":1},
- {"label":"K118", "x":20.75, "y":1},
- {"label":"K119", "x":21.75, "y":1},
- {"label":"K20", "x":0, "y":2, "w":1.5},
- {"label":"K21", "x":1.5, "y":2},
- {"label":"K22", "x":2.5, "y":2},
- {"label":"K23", "x":3.5, "y":2},
- {"label":"K24", "x":4.5, "y":2},
- {"label":"K25", "x":5.5, "y":2},
- {"label":"K26", "x":7.75, "y":2},
- {"label":"K17", "x":8.75, "y":2},
- {"label":"K28", "x":9.75, "y":2},
- {"label":"K210", "x":12.25, "y":2},
- {"label":"K211", "x":13.25, "y":2},
- {"label":"K212", "x":14.25, "y":2},
- {"label":"K213", "x":15.25, "y":2},
- {"label":"K214", "x":16.25, "y":2},
- {"label":"K215", "x":17.25, "y":2},
- {"label":"K216", "x":18.25, "y":2},
- {"label":"K217", "x":19.25, "y":2, "w":1.5},
- {"label":"K218", "x":20.75, "y":2},
- {"label":"K219", "x":21.75, "y":2},
- {"label":"K30", "x":0, "y":3, "w":1.75},
- {"label":"K31", "x":1.75, "y":3},
- {"label":"K32", "x":2.75, "y":3},
- {"label":"K33", "x":3.75, "y":3},
- {"label":"K34", "x":4.75, "y":3},
- {"label":"K35", "x":5.75, "y":3},
- {"label":"K36", "x":7.75, "y":3},
- {"label":"K37", "x":8.75, "y":3},
- {"label":"K38", "x":9.75, "y":3},
- {"label":"K29", "x":10.75, "y":2, "h":2},
- {"label":"K310", "x":12.5, "y":3},
- {"label":"K311", "x":13.5, "y":3},
- {"label":"K312", "x":14.5, "y":3},
- {"label":"K313", "x":15.5, "y":3},
- {"label":"K314", "x":16.5, "y":3},
- {"label":"K315", "x":17.5, "y":3},
- {"label":"K317", "x":18.5, "y":3, "w":2.25},
- {"label":"K40", "x":0, "y":4, "w":2.25},
- {"label":"K41", "x":2.25, "y":4},
- {"label":"K42", "x":3.25, "y":4},
- {"label":"K43", "x":4.25, "y":4},
- {"label":"K44", "x":5.25, "y":4},
- {"label":"K45", "x":6.25, "y":4},
- {"label":"K46", "x":7.75, "y":4},
- {"label":"K47", "x":8.75, "y":4},
- {"label":"K48", "x":9.75, "y":4},
- {"label":"K410", "x":13, "y":4},
- {"label":"K411", "x":14, "y":4},
- {"label":"K412", "x":15, "y":4},
- {"label":"K413", "x":16, "y":4},
- {"label":"K414", "x":17, "y":4},
- {"label":"K416", "x":18, "y":4, "w":2.75},
- {"label":"K418", "x":20.75, "y":4},
- {"label":"K50", "x":0, "y":5, "w":1.25},
- {"label":"K51", "x":1.25, "y":5, "w":1.25},
- {"label":"K52", "x":2.5, "y":5, "w":1.25},
- {"label":"K53", "x":3.75, "y":5, "w":1.25},
- {"label":"K54", "x":5, "y":5, "w":2.25},
- {"label":"K56", "x":7.75, "y":5, "w":2},
- {"label":"K58", "x":9.75, "y":5},
- {"label":"K49", "x":10.75, "y":4, "h":2},
- {"label":"K510", "x":13, "y":5, "w":2},
- {"label":"K512", "x":15, "y":5, "w":1.25},
- {"label":"K513", "x":16.25, "y":5, "w":1.25},
- {"label":"K514", "x":17.5, "y":5, "w":1.25},
- {"label":"K516", "x":18.75, "y":5},
- {"label":"K517", "x":19.75, "y":5},
- {"label":"K518", "x":20.75, "y":5},
- {"label":"K519", "x":21.75, "y":5}
- ]
- },
- "LAYOUT_split_rshift": {
- "layout": [
- {"label":"K00", "x":0, "y":0},
- {"label":"K01", "x":1, "y":0},
- {"label":"K02", "x":2, "y":0},
- {"label":"K03", "x":3, "y":0},
- {"label":"K04", "x":4, "y":0},
- {"label":"K05", "x":5, "y":0},
- {"label":"K06", "x":6, "y":0},
- {"label":"K010", "x":12.75, "y":0},
- {"label":"K011", "x":13.75, "y":0},
- {"label":"K012", "x":14.75, "y":0},
- {"label":"K013", "x":15.75, "y":0},
- {"label":"K014", "x":16.75, "y":0},
- {"label":"K015", "x":17.75, "y":0},
- {"label":"K016", "x":18.75, "y":0},
- {"label":"K017", "x":19.75, "y":0},
- {"label":"K018", "x":20.75, "y":0},
- {"label":"K019", "x":21.75, "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":8.75, "y":1},
- {"label":"K18", "x":9.75, "y":1},
- {"label":"K19", "x":10.75, "y":1},
- {"label":"K110", "x":12.75, "y":1},
- {"label":"K111", "x":13.75, "y":1},
- {"label":"K112", "x":14.75, "y":1},
- {"label":"K113", "x":15.75, "y":1},
- {"label":"K114", "x":16.75, "y":1},
- {"label":"K115", "x":17.75, "y":1},
- {"label":"K116", "x":18.75, "y":1, "w":2},
- {"label":"K118", "x":20.75, "y":1},
- {"label":"K119", "x":21.75, "y":1},
- {"label":"K20", "x":0, "y":2, "w":1.5},
- {"label":"K21", "x":1.5, "y":2},
- {"label":"K22", "x":2.5, "y":2},
- {"label":"K23", "x":3.5, "y":2},
- {"label":"K24", "x":4.5, "y":2},
- {"label":"K25", "x":5.5, "y":2},
- {"label":"K26", "x":7.75, "y":2},
- {"label":"K17", "x":8.75, "y":2},
- {"label":"K28", "x":9.75, "y":2},
- {"label":"K210", "x":12.25, "y":2},
- {"label":"K211", "x":13.25, "y":2},
- {"label":"K212", "x":14.25, "y":2},
- {"label":"K213", "x":15.25, "y":2},
- {"label":"K214", "x":16.25, "y":2},
- {"label":"K215", "x":17.25, "y":2},
- {"label":"K216", "x":18.25, "y":2},
- {"label":"K217", "x":19.25, "y":2, "w":1.5},
- {"label":"K218", "x":20.75, "y":2},
- {"label":"K219", "x":21.75, "y":2},
- {"label":"K30", "x":0, "y":3, "w":1.75},
- {"label":"K31", "x":1.75, "y":3},
- {"label":"K32", "x":2.75, "y":3},
- {"label":"K33", "x":3.75, "y":3},
- {"label":"K34", "x":4.75, "y":3},
- {"label":"K35", "x":5.75, "y":3},
- {"label":"K36", "x":7.75, "y":3},
- {"label":"K37", "x":8.75, "y":3},
- {"label":"K38", "x":9.75, "y":3},
- {"label":"K29", "x":10.75, "y":2, "h":2},
- {"label":"K310", "x":12.5, "y":3},
- {"label":"K311", "x":13.5, "y":3},
- {"label":"K312", "x":14.5, "y":3},
- {"label":"K313", "x":15.5, "y":3},
- {"label":"K314", "x":16.5, "y":3},
- {"label":"K315", "x":17.5, "y":3},
- {"label":"K317", "x":18.5, "y":3, "w":2.25},
- {"label":"K40", "x":0, "y":4, "w":2.25},
- {"label":"K41", "x":2.25, "y":4},
- {"label":"K42", "x":3.25, "y":4},
- {"label":"K43", "x":4.25, "y":4},
- {"label":"K44", "x":5.25, "y":4},
- {"label":"K45", "x":6.25, "y":4},
- {"label":"K46", "x":7.75, "y":4},
- {"label":"K47", "x":8.75, "y":4},
- {"label":"K48", "x":9.75, "y":4},
- {"label":"K410", "x":13, "y":4},
- {"label":"K411", "x":14, "y":4},
- {"label":"K412", "x":15, "y":4},
- {"label":"K413", "x":16, "y":4},
- {"label":"K414", "x":17, "y":4},
- {"label":"K416", "x":18, "y":4, "w":1.75},
- {"label":"K417", "x":19.75, "y":4},
- {"label":"K418", "x":20.75, "y":4},
- {"label":"K50", "x":0, "y":5, "w":1.25},
- {"label":"K51", "x":1.25, "y":5, "w":1.25},
- {"label":"K52", "x":2.5, "y":5, "w":1.25},
- {"label":"K53", "x":3.75, "y":5, "w":1.25},
- {"label":"K54", "x":5, "y":5, "w":2.25},
- {"label":"K56", "x":7.75, "y":5, "w":2},
- {"label":"K58", "x":9.75, "y":5},
- {"label":"K49", "x":10.75, "y":4, "h":2},
- {"label":"K510", "x":13, "y":5, "w":2},
- {"label":"K512", "x":15, "y":5, "w":1.25},
- {"label":"K513", "x":16.25, "y":5, "w":1.25},
- {"label":"K514", "x":17.5, "y":5, "w":1.25},
- {"label":"K516", "x":18.75, "y":5},
- {"label":"K517", "x":19.75, "y":5},
- {"label":"K518", "x":20.75, "y":5},
- {"label":"K519", "x":21.75, "y":5}
- ]
- },
- "LAYOUT_split_numpad": {
- "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":"K010", "x":12.75, "y":0},
- {"label":"K011", "x":13.75, "y":0},
- {"label":"K012", "x":14.75, "y":0},
- {"label":"K013", "x":15.75, "y":0},
- {"label":"K014", "x":16.75, "y":0},
- {"label":"K015", "x":17.75, "y":0},
- {"label":"K016", "x":18.75, "y":0},
- {"label":"K017", "x":19.75, "y":0},
- {"label":"K018", "x":20.75, "y":0},
- {"label":"K019", "x":21.75, "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":8.75, "y":1},
- {"label":"K18", "x":9.75, "y":1},
- {"label":"K19", "x":10.75, "y":1},
- {"label":"K110", "x":12.75, "y":1},
- {"label":"K111", "x":13.75, "y":1},
- {"label":"K112", "x":14.75, "y":1},
- {"label":"K113", "x":15.75, "y":1},
- {"label":"K114", "x":16.75, "y":1},
- {"label":"K115", "x":17.75, "y":1},
- {"label":"K116", "x":18.75, "y":1, "w":2},
- {"label":"K118", "x":20.75, "y":1},
- {"label":"K119", "x":21.75, "y":1},
- {"label":"K20", "x":0, "y":2, "w":1.5},
- {"label":"K21", "x":1.5, "y":2},
- {"label":"K22", "x":2.5, "y":2},
- {"label":"K23", "x":3.5, "y":2},
- {"label":"K24", "x":4.5, "y":2},
- {"label":"K25", "x":5.5, "y":2},
- {"label":"K26", "x":7.75, "y":2},
- {"label":"K17", "x":8.75, "y":2},
- {"label":"K28", "x":9.75, "y":2},
- {"label":"K29", "x":10.75, "y":2},
- {"label":"K210", "x":12.25, "y":2},
- {"label":"K211", "x":13.25, "y":2},
- {"label":"K212", "x":14.25, "y":2},
- {"label":"K213", "x":15.25, "y":2},
- {"label":"K214", "x":16.25, "y":2},
- {"label":"K215", "x":17.25, "y":2},
- {"label":"K216", "x":18.25, "y":2},
- {"label":"K217", "x":19.25, "y":2, "w":1.5},
- {"label":"K218", "x":20.75, "y":2},
- {"label":"K219", "x":21.75, "y":2},
- {"label":"K30", "x":0, "y":3, "w":1.75},
- {"label":"K31", "x":1.75, "y":3},
- {"label":"K32", "x":2.75, "y":3},
- {"label":"K33", "x":3.75, "y":3},
- {"label":"K34", "x":4.75, "y":3},
- {"label":"K35", "x":5.75, "y":3},
- {"label":"K36", "x":7.75, "y":3},
- {"label":"K37", "x":8.75, "y":3},
- {"label":"K38", "x":9.75, "y":3},
- {"label":"K39", "x":10.75, "y":3},
- {"label":"K310", "x":12.5, "y":3},
- {"label":"K311", "x":13.5, "y":3},
- {"label":"K312", "x":14.5, "y":3},
- {"label":"K313", "x":15.5, "y":3},
- {"label":"K314", "x":16.5, "y":3},
- {"label":"K315", "x":17.5, "y":3},
- {"label":"K317", "x":18.5, "y":3, "w":2.25},
- {"label":"K40", "x":0, "y":4, "w":2.25},
- {"label":"K41", "x":2.25, "y":4},
- {"label":"K42", "x":3.25, "y":4},
- {"label":"K43", "x":4.25, "y":4},
- {"label":"K44", "x":5.25, "y":4},
- {"label":"K45", "x":6.25, "y":4},
- {"label":"K46", "x":7.75, "y":4},
- {"label":"K47", "x":8.75, "y":4},
- {"label":"K48", "x":9.75, "y":4},
- {"label":"K49", "x":10.75, "y":4},
- {"label":"K410", "x":13, "y":4},
- {"label":"K411", "x":14, "y":4},
- {"label":"K412", "x":15, "y":4},
- {"label":"K413", "x":16, "y":4},
- {"label":"K414", "x":17, "y":4},
- {"label":"K416", "x":18, "y":4, "w":2.75},
- {"label":"K418", "x":20.75, "y":4},
- {"label":"K50", "x":0, "y":5, "w":1.25},
- {"label":"K51", "x":1.25, "y":5, "w":1.25},
- {"label":"K52", "x":2.5, "y":5, "w":1.25},
- {"label":"K53", "x":3.75, "y":5, "w":1.25},
- {"label":"K54", "x":5, "y":5, "w":2.25},
- {"label":"K56", "x":7.75, "y":5},
- {"Label":"K57", "x":8.75, "y":5},
- {"label":"K58", "x":9.75, "y":5},
- {"label":"K59", "x":10.75, "y":5},
- {"label":"K510", "x":13, "y":5, "w":2},
- {"label":"K512", "x":15, "y":5, "w":1.25},
- {"label":"K513", "x":16.25, "y":5, "w":1.25},
- {"label":"K514", "x":17.5, "y":5, "w":1.25},
- {"label":"K516", "x":18.75, "y":5},
- {"label":"K517", "x":19.75, "y":5},
- {"label":"K518", "x":20.75, "y":5},
- {"label":"K519", "x":21.75, "y":5}
- ]
- },
- "LAYOUT_all": {
- "layout": [
- {"label":"K00", "x":0, "y":0},
- {"label":"K01", "x":1, "y":0},
- {"label":"K02", "x":2, "y":0},
- {"label":"K03", "x":3, "y":0},
- {"label":"K04", "x":4, "y":0},
- {"label":"K05", "x":5, "y":0},
- {"label":"K06", "x":6, "y":0},
- {"label":"K010", "x":12.75, "y":0},
- {"label":"K011", "x":13.75, "y":0},
- {"label":"K012", "x":14.75, "y":0},
- {"label":"K013", "x":15.75, "y":0},
- {"label":"K014", "x":16.75, "y":0},
- {"label":"K015", "x":17.75, "y":0},
- {"label":"K016", "x":18.75, "y":0},
- {"label":"K017", "x":19.75, "y":0},
- {"label":"K018", "x":20.75, "y":0},
- {"label":"K019", "x":21.75, "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":8.75, "y":1},
- {"label":"K18", "x":9.75, "y":1},
- {"label":"K19", "x":10.75, "y":1},
- {"label":"K110", "x":12.75, "y":1},
- {"label":"K111", "x":13.75, "y":1},
- {"label":"K112", "x":14.75, "y":1},
- {"label":"K113", "x":15.75, "y":1},
- {"label":"K114", "x":16.75, "y":1},
- {"label":"K115", "x":17.75, "y":1},
- {"label":"K116", "x":18.75, "y":1},
- {"label":"K117", "x":19.75, "y":1},
- {"label":"K118", "x":20.75, "y":1},
- {"label":"K119", "x":21.75, "y":1},
- {"label":"K20", "x":0, "y":2, "w":1.5},
- {"label":"K21", "x":1.5, "y":2},
- {"label":"K22", "x":2.5, "y":2},
- {"label":"K23", "x":3.5, "y":2},
- {"label":"K24", "x":4.5, "y":2},
- {"label":"K25", "x":5.5, "y":2},
- {"label":"K26", "x":7.75, "y":2},
- {"label":"K27", "x":8.75, "y":2},
- {"label":"K28", "x":9.75, "y":2},
- {"label":"K29", "x":10.75, "y":2},
- {"label":"K210", "x":12.25, "y":2},
- {"label":"K211", "x":13.25, "y":2},
- {"label":"K212", "x":14.25, "y":2},
- {"label":"K213", "x":15.25, "y":2},
- {"label":"K214", "x":16.25, "y":2},
- {"label":"K215", "x":17.25, "y":2},
- {"label":"K216", "x":18.25, "y":2},
- {"label":"K217", "x":19.25, "y":2, "w":1.5},
- {"label":"K218", "x":20.75, "y":2},
- {"label":"K219", "x":21.75, "y":2},
- {"label":"K30", "x":0, "y":3, "w":1.75},
- {"label":"K31", "x":1.75, "y":3},
- {"label":"K32", "x":2.75, "y":3},
- {"label":"K33", "x":3.75, "y":3},
- {"label":"K34", "x":4.75, "y":3},
- {"label":"K35", "x":5.75, "y":3},
- {"label":"K36", "x":7.75, "y":3},
- {"label":"K37", "x":8.75, "y":3},
- {"label":"K38", "x":9.75, "y":3},
- {"label":"K39", "x":10.75, "y":3},
- {"label":"K310", "x":12.5, "y":3},
- {"label":"K311", "x":13.5, "y":3},
- {"label":"K312", "x":14.5, "y":3},
- {"label":"K313", "x":15.5, "y":3},
- {"label":"K314", "x":16.5, "y":3},
- {"label":"K315", "x":17.5, "y":3},
- {"label":"K317", "x":18.5, "y":3, "w":2.25},
- {"label":"K40", "x":0, "y":4, "w":2.25},
- {"label":"K41", "x":2.25, "y":4},
- {"label":"K42", "x":3.25, "y":4},
- {"label":"K43", "x":4.25, "y":4},
- {"label":"K44", "x":5.25, "y":4},
- {"label":"K45", "x":6.25, "y":4},
- {"label":"K46", "x":7.75, "y":4},
- {"label":"K47", "x":8.75, "y":4},
- {"label":"K48", "x":9.75, "y":4},
- {"label":"K49", "x":10.75, "y":4},
- {"label":"K410", "x":13, "y":4},
- {"label":"K411", "x":14, "y":4},
- {"label":"K412", "x":15, "y":4},
- {"label":"K413", "x":16, "y":4},
- {"label":"K414", "x":17, "y":4},
- {"label":"K416", "x":18, "y":4, "w":1.75},
- {"label":"K417", "x":19.75, "y":4},
- {"label":"K418", "x":20.75, "y":4},
- {"label":"K50", "x":0, "y":5, "w":1.25},
- {"label":"K51", "x":1.25, "y":5, "w":1.25},
- {"label":"K52", "x":2.5, "y":5, "w":1.25},
- {"label":"K53", "x":3.75, "y":5, "w":1.25},
- {"label":"K54", "x":5, "y":5, "w":2.25},
- {"label":"K56", "x":7.75, "y":5},
- {"label":"K57", "x":8.75, "y":5},
- {"label":"K58", "x":9.75, "y":5},
- {"label":"K59", "x":10.75, "y":5},
- {"label":"K510", "x":13, "y":5, "w":2},
- {"label":"K512", "x":15, "y":5, "w":1.25},
- {"label":"K513", "x":16.25, "y":5, "w":1.25},
- {"label":"K514", "x":17.5, "y":5, "w":1.25},
- {"label":"K516", "x":18.75, "y":5},
- {"label":"K517", "x":19.75, "y":5},
- {"label":"K518", "x":20.75, "y":5},
- {"label":"K519", "x":21.75, "y":5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/downbubble/keymaps/default/config.h b/keyboards/handwired/downbubble/keymaps/default/config.h
deleted file mode 100644
index 4496c59100..0000000000
--- a/keyboards/handwired/downbubble/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/downbubble/keymaps/default/keymap.c b/keyboards/handwired/downbubble/keymaps/default/keymap.c
deleted file mode 100644
index 48303900fb..0000000000
--- a/keyboards/handwired/downbubble/keymaps/default/keymap.c
+++ /dev/null
@@ -1,103 +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/>.
- */
-#include QMK_KEYBOARD_H
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- QMKBEST = SAFE_RANGE,
- QMKURL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_standard(\
- 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_NLCK, KC_HOME, KC_TRNS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS, KC_PAST, KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_SPC, KC_P0, KC_PDOT, KC_PENT, KC_BSPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- LAYOUT_split_bs(\
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS, KC_PAST, KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, KC_END, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_SPC, KC_P0, KC_PDOT, KC_PENT, KC_BSPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- LAYOUT_split_rshift(\
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NLCK, KC_HOME, KC_TRNS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS, KC_PAST, KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_PPLS, 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_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_SPC, KC_P0, KC_PDOT, KC_PENT, KC_BSPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- LAYOUT_split_numpad(\
- 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_NLCK, KC_HOME, KC_TRNS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS, KC_PAST, KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_TRNS, 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_P1, KC_P2, KC_P3, KC_PENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_SPC, KC_P0, KC_TRNS, KC_PDOT, KC_TRNS, KC_BSPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- 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_NLCK, KC_HOME, KC_TRNS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_PSLS, KC_PAST, KC_PMNS, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, KC_END, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_TRNS, 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_P1, KC_P2, KC_P3, KC_PENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_SPC, KC_P0, KC_TRNS, KC_PDOT, KC_TRNS, KC_BSPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMKBEST:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING("QMK is the best thing ever!");
- } else {
- // when keycode QMKBEST is released
- }
- break;
- case QMKURL:
- if (record->event.pressed) {
- // when keycode QMKURL is pressed
- SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
- } else {
- // when keycode QMKURL is released
- }
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/downbubble/keymaps/default/readme.md b/keyboards/handwired/downbubble/keymaps/default/readme.md
deleted file mode 100644
index 757d990625..0000000000
--- a/keyboards/handwired/downbubble/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymaps for downbubble
diff --git a/keyboards/handwired/downbubble/license b/keyboards/handwired/downbubble/license
deleted file mode 100644
index e6e77b0890..0000000000
--- a/keyboards/handwired/downbubble/license
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/keyboards/handwired/downbubble/readme.md b/keyboards/handwired/downbubble/readme.md
deleted file mode 100644
index e662345127..0000000000
--- a/keyboards/handwired/downbubble/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# downbubble
-
-Prototype hand-wired version of this keyboard - https://imgur.com/a/0KbX1JH
-
-This is an ergonomic keyboard with a 5 degree rotation on keyboard halves, and a rotated numpad in the center for RH users.
-
-Keyboard Maintainer: [Flehrad](https://github.com/flehrad)
-Hardware Supported: downbubble PCB, AT90USB1286 MCU, MX switches and MiniUSB connector
-Hardware Availability: The Board Podcast Slack
-
-Make example for this keyboard (after setting up your build environment):
-
- make downbubble: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/downbubble/rules.mk b/keyboards/handwired/downbubble/rules.mk
deleted file mode 100644
index 87d0d4a1e2..0000000000
--- a/keyboards/handwired/downbubble/rules.mk
+++ /dev/null
@@ -1,81 +0,0 @@
-# MCU name
-MCU = at90usb1286
-#MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = atmel-dfu
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/handwired/fivethirteen/config.h b/keyboards/handwired/fivethirteen/config.h
deleted file mode 100644
index 685d421b12..0000000000
--- a/keyboards/handwired/fivethirteen/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rdg
-#define PRODUCT fivethirteen
-#define DESCRIPTION handwired 5x13 matrix keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#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 { F6, F7, B6, B5, B4 }
-#define MATRIX_COL_PINS { B0, B1, B2, B3, F0, D0, D1, D2, D3, C6, C7, D6, D7 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/fivethirteen/fivethirteen.c b/keyboards/handwired/fivethirteen/fivethirteen.c
deleted file mode 100644
index 4c16e72eb6..0000000000
--- a/keyboards/handwired/fivethirteen/fivethirteen.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "fivethirteen.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/fivethirteen/fivethirteen.h b/keyboards/handwired/fivethirteen/fivethirteen.h
deleted file mode 100644
index 6d14b7f1c0..0000000000
--- a/keyboards/handwired/fivethirteen/fivethirteen.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef FIVETHIRTEEN_H
-#define FIVETHIRTEEN_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312, \
- k40, k41, k42, k43, k44, k46, k47, k48, k49, k410, k411, k412 \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012 }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312 }, \
- { k40, k41, k42, k43, k44, KC_NO, k46, k47, k48, k49, k410, k411, k412 } \
-}
-
-#endif
diff --git a/keyboards/handwired/fivethirteen/info.json b/keyboards/handwired/fivethirteen/info.json
deleted file mode 100644
index f95cbbe011..0000000000
--- a/keyboards/handwired/fivethirteen/info.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "keyboard_name": "fivethirteen",
- "url": "",
- "maintainer": "qmk",
- "width": 13,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Tab", "x":0, "y":1},
- {"label":"Q", "x":1, "y":1},
- {"label":"W", "x":2, "y":1},
- {"label":"E", "x":3, "y":1},
- {"label":"R", "x":4, "y":1},
- {"label":"T", "x":5, "y":1},
- {"label":"Y", "x":6, "y":1},
- {"label":"U", "x":7, "y":1},
- {"label":"I", "x":8, "y":1},
- {"label":"O", "x":9, "y":1},
- {"label":"P", "x":10, "y":1},
- {"label":"[", "x":11, "y":1},
- {"label":"]", "x":12, "y":1},
- {"label":"Ctrl/Esc", "x":0, "y":2},
- {"label":"A", "x":1, "y":2},
- {"label":"S", "x":2, "y":2},
- {"label":"D", "x":3, "y":2},
- {"label":"F", "x":4, "y":2},
- {"label":"G", "x":5, "y":2},
- {"label":"H", "x":6, "y":2},
- {"label":"J", "x":7, "y":2},
- {"label":"K", "x":8, "y":2},
- {"label":"L", "x":9, "y":2},
- {"label":";", "x":10, "y":2},
- {"label":"'", "x":11, "y":2},
- {"label":"Enter", "x":12, "y":2},
- {"label":"Shift", "x":0, "y":3},
- {"label":"Z", "x":1, "y":3},
- {"label":"X", "x":2, "y":3},
- {"label":"C", "x":3, "y":3},
- {"label":"V", "x":4, "y":3},
- {"label":"B", "x":5, "y":3},
- {"label":"N", "x":6, "y":3},
- {"label":"M", "x":7, "y":3},
- {"label":",", "x":8, "y":3},
- {"label":".", "x":9, "y":3},
- {"label":"/", "x":10, "y":3},
- {"label":"Up", "x":11, "y":3},
- {"label":"\\", "x":12, "y":3},
- {"label":"MO(MOS)", "x":0, "y":4},
- {"label":"Ctrl", "x":1, "y":4},
- {"label":"Alt", "x":2, "y":4},
- {"label":"GUI", "x":3, "y":4},
- {"label":"MO(HDN)", "x":4, "y":4},
- {"label":"Space", "x":5, "y":4, "w":2},
- {"label":"Shift/Backspace", "x":7, "y":4},
- {"label":"MO(OSY)", "x":8, "y":4},
- {"label":"MO(HDN)", "x":9, "y":4},
- {"label":"Left", "x":10, "y":4},
- {"label":"Down", "x":11, "y":4},
- {"label":"Right", "x":12, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/fivethirteen/keymaps/default/keymap.c b/keyboards/handwired/fivethirteen/keymaps/default/keymap.c
deleted file mode 100644
index d92f32e35c..0000000000
--- a/keyboards/handwired/fivethirteen/keymaps/default/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define HDN 1
-#define OSY 2
-#define MOS 3
-#define CTL_ESC CTL_T(KC_ESC)
-#define SFT_BSP SFT_T(KC_BSPC)
-
-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 \
-),
-[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 \
-),
-[OSY] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, 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, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
-)
-};
diff --git a/keyboards/handwired/fivethirteen/readme.md b/keyboards/handwired/fivethirteen/readme.md
deleted file mode 100644
index 1a22fc9b93..0000000000
--- a/keyboards/handwired/fivethirteen/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# fivethirteen
-
-A handwired 5x13 ortholinear keyboard with a 2U space bar.
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: fivethirteen handwired
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/fivethirteen: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/fivethirteen/rules.mk b/keyboards/handwired/fivethirteen/rules.mk
deleted file mode 100644
index c8dd19ef7b..0000000000
--- a/keyboards/handwired/fivethirteen/rules.mk
+++ /dev/null
@@ -1,68 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-
diff --git a/keyboards/handwired/frenchdev/config.h b/keyboards/handwired/frenchdev/config.h
deleted file mode 100644
index b01eec7aa0..0000000000
--- a/keyboards/handwired/frenchdev/config.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-Copyright 201 Nicolas Poirey <nicolas.poirey@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef FRENCHDEV_V1_CONFIG_H
-#define FRENCHDEV_V1_CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x1307
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nicolas Poirey
-#define PRODUCT Frenchdev V1
-#define DESCRIPTION QMK keyboard firmware for Frenchdev
-
-/* key matrix size */
-#define MATRIX_ROWS 16
-#define MATRIX_COLS 6
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-#define LED_BRIGHTNESS_LO 15
-#define LED_BRIGHTNESS_HI 255
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-#define USB_MAX_POWER_CONSUMPTION 500
-
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 5
-#define MOUSEKEY_MAX_SPEED 2
-#define MOUSEKEY_WHEEL_DELAY 0
-
-#define TAPPING_TOGGLE 1
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-#define TAPPING_TERM 200
-#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
- get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
-)
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-//#define DEBUG_MATRIX_SCAN_RATE
-
-#endif //FRENCHDEV_V1_CONFIG_H
diff --git a/keyboards/handwired/frenchdev/frenchdev.c b/keyboards/handwired/frenchdev/frenchdev.c
deleted file mode 100644
index 6d5883a3a8..0000000000
--- a/keyboards/handwired/frenchdev/frenchdev.c
+++ /dev/null
@@ -1,87 +0,0 @@
-#include "frenchdev.h"
-#include "i2cmaster.h"
-
-bool i2c_initialized = 0;
-uint8_t mcp23018_status = 0x20;
-
-void matrix_init_kb(void) {
- // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md")
- TCCR1A = 0b10101001; // set and configure fast PWM
- TCCR1B = 0b00001001; // set and configure fast PWM
-
-
-
- // unused pins - D4, D5, D7, E6
- // set as input with internal pull-ip enabled
- DDRD &= ~(1<<5 | 1<<4);
- DDRE &= ~(1<<6);
- PORTD |= (1<<5 | 1<<4);
- PORTE |= (1<<6);
-
- frenchdev_blink_all_leds();
- frenchdev_blink_all_leds();
- frenchdev_blink_all_leds();
- frenchdev_blink_all_leds();
-
- matrix_init_user();
-}
-
-void frenchdev_blink_all_leds(void)
-{
- frenchdev_led_all_off();
- frenchdev_led_all_set(LED_BRIGHTNESS_HI);
- frenchdev_led_1_on();
- _delay_ms(50);
- frenchdev_led_2_on();
- _delay_ms(50);
- frenchdev_led_3_on();
- _delay_ms(50);
- frenchdev_led_1_off();
- _delay_ms(50);
- frenchdev_led_2_off();
- _delay_ms(50);
- frenchdev_led_3_off();
- frenchdev_led_all_off();
-}
-
-uint8_t init_mcp23018(void) {
- mcp23018_status = 0x20;
-
- // I2C subsystem
-
- // uint8_t sreg_prev;
- // sreg_prev=SREG;
- // cli();
- if (i2c_initialized == 0) {
- i2c_init(); // on pins D(1,0)
- i2c_initialized++;
- _delay_ms(1000);
- }
-
- // set pin direction
- // - unused : input : 1
- // - input : input : 1
- // - driving : output : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(IODIRA); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00111111); if (mcp23018_status) goto out;
- i2c_stop();
-
- // set pull-up
- // - unused : on : 1
- // - input : on : 1
- // - driving : off : 0
- mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPPUA); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00000000); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(0b00111111); if (mcp23018_status) goto out;
-
-out:
- i2c_stop();
-
- // SREG=sreg_prev;
-
- return mcp23018_status;
-}
-
diff --git a/keyboards/handwired/frenchdev/frenchdev.h b/keyboards/handwired/frenchdev/frenchdev.h
deleted file mode 100644
index 82dbe18b89..0000000000
--- a/keyboards/handwired/frenchdev/frenchdev.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef FRENCHDEV_V1_H
-#define FRENCHDEV_V1_H
-
-#include "quantum.h"
-#include <stdint.h>
-#include <stdbool.h>
-#include "i2cmaster.h"
-#include <util/delay.h>
-
-#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))
-#define CPU_16MHz 0x00
-
-// I2C aliases and register addresses (see "mcp23018.md" on tmk repository)
-#define I2C_ADDR 0b0100000
-#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
-#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
-#define IODIRA 0x00 // i/o direction register
-#define IODIRB 0x01
-#define GPPUA 0x0C // GPIO pull-up resistor register
-#define GPPUB 0x0D
-#define GPIOA 0x12 // general purpose i/o port register (write modifies OLAT)
-#define GPIOB 0x13
-#define OLATA 0x14 // output latch register
-#define OLATB 0x15
-
-extern uint8_t mcp23018_status;
-
-void init_frenchdev(void);
-void frenchdev_blink_all_leds(void);
-uint8_t init_mcp23018(void);
-
-#define LED_BRIGHTNESS_LO 15
-#define LED_BRIGHTNESS_HI 255
-
-
-inline void frenchdev_board_led_on(void) { DDRD |= (1<<6); PORTD |= (1<<6); }
-inline void frenchdev_led_1_on(void) { DDRB |= (1<<5); PORTB |= (1<<5); }
-inline void frenchdev_led_2_on(void) { DDRB |= (1<<6); PORTB |= (1<<6); }
-inline void frenchdev_led_3_on(void) { DDRB |= (1<<7); PORTB |= (1<<7); }
-inline void frenchdev_led_on(uint8_t led) { DDRB |= (1<<(led+4)); PORTB |= (1<<(led+4)); }
-
-inline void frenchdev_board_led_off(void) { DDRD &= ~(1<<6); PORTD &= ~(1<<6); }
-inline void frenchdev_led_1_off(void) { DDRB &= ~(1<<5); PORTB &= ~(1<<5); }
-inline void frenchdev_led_2_off(void) { DDRB &= ~(1<<6); PORTB &= ~(1<<6); }
-inline void frenchdev_led_3_off(void) { DDRB &= ~(1<<7); PORTB &= ~(1<<7); }
-inline void frenchdev_led_off(uint8_t led) { DDRB &= ~(1<<(led+4)); PORTB &= ~(1<<(led+4)); }
-
-inline void frenchdev_led_all_on(void)
-{
- frenchdev_board_led_on();
- frenchdev_led_1_on();
- frenchdev_led_2_on();
- frenchdev_led_3_on();
-}
-
-inline void frenchdev_led_all_off(void)
-{
- frenchdev_board_led_off();
- frenchdev_led_1_off();
- frenchdev_led_2_off();
- frenchdev_led_3_off();
-}
-
-inline void frenchdev_led_1_set(uint8_t n) { OCR1A = n; }
-inline void frenchdev_led_2_set(uint8_t n) { OCR1B = n; }
-inline void frenchdev_led_3_set(uint8_t n) { OCR1C = n; }
-inline void frenchdev_led_set(uint8_t led, uint8_t n) {
- (led == 1) ? (OCR1A = n) :
- (led == 2) ? (OCR1B = n) :
- (OCR1C = n);
-}
-
-inline void frenchdev_led_all_set(uint8_t n)
-{
- frenchdev_led_1_set(n);
- frenchdev_led_2_set(n);
- frenchdev_led_3_set(n);
-}
-
-#define LAYOUT( \
- \
- k01, k02, k03, k04, k05, k06, k09, k0a, k0b, k0c, k0d, k0e, \
- k10, k11, k12, k13, k14, k15, k16, k19, k1a, k1b, k1c, k1d, k1e, k1f, \
- k20, k21, k22, k23, k24, k25, k26, k29, k2a, k2b, k2c, k2d, k2e, k2f, \
- k30, k31, k32, k33, k34, k35, k36, k39, k3a, k3b, k3c, k3d, k3e, k3f, \
- k40, k41, k42, k43, k44, k45, k46, k47, k37, k38, k48, k49, k4a, k4b, k4c, k4d, k4e, k4f, \
- k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5a, k5b, k5c, k5d, k5e, k5f, \
- \
- PL1, PL2, PL3, \
- PR1, PR2, PR3 \
- ) \
- \
- /* matrix positions, inverted left and right for I2C to be on row 0-7 */\
- { \
- \
- { k5f, k4f, k3f, k2f, k1f, KC_NO}, \
- { k5e, k4e, k3e, k2e, k1e, k0e }, \
- { k5d, k4d, k3d, k2d, k1d, k0d }, \
- { k5c, k4c, k3c, k2c, k1c, k0c }, \
- { k5b, k4b, k3b, k2b, k1b, k0b }, \
- { k5a, k4a, k3a, k2a, k1a, k0a }, \
- { k59, k49, k39, k29, k19, k09 }, \
- { k58, k48, k38, PR1, PR2, PR3 }, \
- \
- { k57, k47, k37, PL1, PL2, PL3 }, \
- { k56, k46, k36, k26, k16, k06 }, \
- { k55, k45, k35, k25, k15, k05 }, \
- { k54, k44, k34, k24, k14, k04 }, \
- { k53, k43, k33, k23, k13, k03 }, \
- { k52, k42, k32, k22, k12, k02 }, \
- { k51, k41, k31, k21, k11, k01 }, \
- { k50, k40, k30, k20, k10, KC_NO } \
- }
-
-#endif
diff --git a/keyboards/handwired/frenchdev/i2cmaster.h b/keyboards/handwired/frenchdev/i2cmaster.h
deleted file mode 100644
index 3917b9e6c0..0000000000
--- a/keyboards/handwired/frenchdev/i2cmaster.h
+++ /dev/null
@@ -1,178 +0,0 @@
-#ifndef _I2CMASTER_H
-#define _I2CMASTER_H 1
-/*************************************************************************
-* Title: C include file for the I2C master interface
-* (i2cmaster.S or twimaster.c)
-* Author: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury
-* File: $Id: i2cmaster.h,v 1.10 2005/03/06 22:39:57 Peter Exp $
-* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3
-* Target: any AVR device
-* Usage: see Doxygen manual
-**************************************************************************/
-
-#ifdef DOXYGEN
-/**
- @defgroup pfleury_ic2master I2C Master library
- @code #include <i2cmaster.h> @endcode
-
- @brief I2C (TWI) Master Software Library
-
- Basic routines for communicating with I2C slave devices. This single master
- implementation is limited to one bus master on the I2C bus.
-
- This I2c library is implemented as a compact assembler software implementation of the I2C protocol
- which runs on any AVR (i2cmaster.S) and as a TWI hardware interface for all AVR with built-in TWI hardware (twimaster.c).
- Since the API for these two implementations is exactly the same, an application can be linked either against the
- software I2C implementation or the hardware I2C implementation.
-
- Use 4.7k pull-up resistor on the SDA and SCL pin.
-
- Adapt the SCL and SDA port and pin definitions and eventually the delay routine in the module
- i2cmaster.S to your target when using the software I2C implementation !
-
- Adjust the CPU clock frequence F_CPU in twimaster.c or in the Makfile when using the TWI hardware implementaion.
-
- @note
- The module i2cmaster.S is based on the Atmel Application Note AVR300, corrected and adapted
- to GNU assembler and AVR-GCC C call interface.
- Replaced the incorrect quarter period delays found in AVR300 with
- half period delays.
-
- @author Peter Fleury pfleury@gmx.ch http://jump.to/fleury
-
- @par API Usage Example
- The following code shows typical usage of this library, see example test_i2cmaster.c
-
- @code
-
- #include <i2cmaster.h>
-
-
- #define Dev24C02 0xA2 // device address of EEPROM 24C02, see datasheet
-
- int main(void)
- {
- unsigned char ret;
-
- i2c_init(); // initialize I2C library
-
- // write 0x75 to EEPROM address 5 (Byte Write)
- i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode
- i2c_write(0x05); // write address = 5
- i2c_write(0x75); // write value 0x75 to EEPROM
- i2c_stop(); // set stop conditon = release bus
-
-
- // read previously written value back from EEPROM address 5
- i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode
-
- i2c_write(0x05); // write address = 5
- i2c_rep_start(Dev24C02+I2C_READ); // set device address and read mode
-
- ret = i2c_readNak(); // read one byte from EEPROM
- i2c_stop();
-
- for(;;);
- }
- @endcode
-
-*/
-#endif /* DOXYGEN */
-
-/**@{*/
-
-#if (__GNUC__ * 100 + __GNUC_MINOR__) < 304
-#error "This library requires AVR-GCC 3.4 or later, update to newer AVR-GCC compiler !"
-#endif
-
-#include <avr/io.h>
-
-/** defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start() */
-#define I2C_READ 1
-
-/** defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start() */
-#define I2C_WRITE 0
-
-
-/**
- @brief initialize the I2C master interace. Need to be called only once
- @param void
- @return none
- */
-extern void i2c_init(void);
-
-
-/**
- @brief Terminates the data transfer and releases the I2C bus
- @param void
- @return none
- */
-extern void i2c_stop(void);
-
-
-/**
- @brief Issues a start condition and sends address and transfer direction
-
- @param addr address and transfer direction of I2C device
- @retval 0 device accessible
- @retval 1 failed to access device
- */
-extern unsigned char i2c_start(unsigned char addr);
-
-
-/**
- @brief Issues a repeated start condition and sends address and transfer direction
-
- @param addr address and transfer direction of I2C device
- @retval 0 device accessible
- @retval 1 failed to access device
- */
-extern unsigned char i2c_rep_start(unsigned char addr);
-
-
-/**
- @brief Issues a start condition and sends address and transfer direction
-
- If device is busy, use ack polling to wait until device ready
- @param addr address and transfer direction of I2C device
- @return none
- */
-extern void i2c_start_wait(unsigned char addr);
-
-
-/**
- @brief Send one byte to I2C device
- @param data byte to be transfered
- @retval 0 write successful
- @retval 1 write failed
- */
-extern unsigned char i2c_write(unsigned char data);
-
-
-/**
- @brief read one byte from the I2C device, request more data from device
- @return byte read from I2C device
- */
-extern unsigned char i2c_readAck(void);
-
-/**
- @brief read one byte from the I2C device, read is followed by a stop condition
- @return byte read from I2C device
- */
-extern unsigned char i2c_readNak(void);
-
-/**
- @brief read one byte from the I2C device
-
- Implemented as a macro, which calls either i2c_readAck or i2c_readNak
-
- @param ack 1 send ack, request more data from device<br>
- 0 send nak, read is followed by a stop condition
- @return byte read from I2C device
- */
-extern unsigned char i2c_read(unsigned char ack);
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
-
-
-/**@}*/
-#endif
diff --git a/keyboards/handwired/frenchdev/info.json b/keyboards/handwired/frenchdev/info.json
deleted file mode 100644
index 0f3c0a94fd..0000000000
--- a/keyboards/handwired/frenchdev/info.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "keyboard_name": "",
- "url": "",
- "maintainer": "qmk",
- "bootloader": "",
- "width": 20,
- "height": 8,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"F1", "x":1, "y":0.9},
- {"label":"F2", "x":2, "y":0.3},
- {"label":"F3", "x":3, "y":0},
- {"label":"F4", "x":4, "y":0.4},
- {"label":"F5", "x":5, "y":0.5},
- {"label":"F6", "x":6, "y":0.5},
- {"label":"F7", "x":13, "y":0.5},
- {"label":"F8", "x":14, "y":0.5},
- {"label":"F9", "x":15, "y":0.4},
- {"label":"F10", "x":16, "y":0},
- {"label":"F11", "x":17, "y":0.3},
- {"label":"F12", "x":18, "y":0.9},
-
- {"label":"Esc", "x":0, "y":1.9},
- {"label":"\"", "x":1, "y":1.9},
- {"label":"\u00ab", "x":2, "y":1.3},
- {"label":"\u00bb", "x":3, "y":1},
- {"label":"(", "x":4, "y":1.4},
- {"label":")", "x":5, "y":1.5},
- {"label":"\u00a8", "x":6, "y":1.5},
- {"label":"^", "x":13, "y":1.5},
- {"label":"@", "x":14, "y":1.5},
- {"label":"+", "x":15, "y":1.4},
- {"label":"-", "x":16, "y":1},
- {"label":"/", "x":17, "y":1.3},
- {"label":"*", "x":18, "y":1.9},
- {"label":"Backspace", "x":19, "y":1.9},
-
- {"label":"Tab", "x":0, "y":2.9},
- {"label":"B", "x":1, "y":2.9},
- {"label":"&Eacute;", "x":2, "y":2.3},
- {"label":"P", "x":3, "y":2},
- {"label":"O", "x":4, "y":2.4},
- {"label":"&Egrave;", "x":5, "y":2.5},
- {"label":"_", "x":6, "y":2.5},
- {"label":"=", "x":13, "y":2.5},
- {"label":"K", "x":14, "y":2.5},
- {"label":"V", "x":15, "y":2.4},
- {"label":"D", "x":16, "y":2},
- {"label":"L", "x":17, "y":2.3},
- {"label":"J", "x":18, "y":2.9},
- {"label":"Enter", "x":19, "y":2.9},
-
- {"label":"`", "x":0, "y":3.9},
- {"label":"A", "x":1, "y":3.9},
- {"label":"U", "x":2, "y":3.3},
- {"label":"E", "x":3, "y":3},
- {"label":"I", "x":4, "y":3.4},
- {"label":"F", "x":5, "y":3.5},
- {"label":";", "x":6, "y":3.5},
- {"label":"!", "x":13, "y":3.5},
- {"label":"C", "x":14, "y":3.5},
- {"label":"T", "x":15, "y":3.4},
- {"label":"S", "x":16, "y":3},
- {"label":"R", "x":17, "y":3.3},
- {"label":"N", "x":18, "y":3.9},
- {"label":"'", "x":19, "y":3.9},
-
- {"label":"Shift", "x":0, "y":4.9},
- {"label":"Z", "x":1, "y":4.9},
- {"label":"&Agrave;", "x":2, "y":4.3},
- {"label":"Y", "x":3, "y":4},
- {"label":"X", "x":4, "y":4.4},
- {"label":"]", "x":5, "y":4.5},
- {"label":"Shift/Space", "x":6.5, "y":5},
- {"label":"Ctrl/Backspace", "x":7.5, "y":5},
- {"label":"Layer 2/Insert", "x":8.5, "y":5},
- {"label":"Layer 2 Lock", "x":10.5, "y":5},
- {"label":"Ctrl/Delete", "x":11.5, "y":5},
- {"label":"Shift/Space", "x":12.5, "y":5},
- {"label":"M", "x":14, "y":4.5},
- {"label":"G", "x":15, "y":4.4},
- {"label":"Up", "x":16, "y":4},
- {"label":"H", "x":17, "y":4.3},
- {"label":"Q", "x":18, "y":4.9},
- {"label":"Shift", "x":19, "y":4.9},
-
- {"label":"Ctrl", "x":0, "y":5.9},
- {"label":"GUI", "x":1, "y":5.9},
- {"label":"Keypad /", "x":2, "y":5.3},
- {"label":".", "x":3, "y":5},
- {"label":",", "x":4, "y":5.4},
- {"label":"Space", "x":5, "y":5.5},
- {"label":"Layer 1/Space", "x":6.5, "y":6},
- {"label":"Alt", "x":7.5, "y":6},
- {"label":"Caps Lock", "x":11.5, "y":6},
- {"label":"Layer 1/Space", "x":12.5, "y":6},
- {"label":"Space", "x":14, "y":5.5},
- {"label":"Left", "x":15, "y":5.4},
- {"label":"Down", "x":16, "y":5},
- {"label":"Right", "x":17, "y":5.3},
- {"label":":", "x":18, "y":5.9},
- {"label":"Ctrl", "x":19, "y":5.9},
-
- {"label":"Left Pedal 1", "x":2.25, "y":7.5, "w":1.5, "h":2},
- {"label":"Left Pedal 2", "x":3.75, "y":7.5, "w":1.5, "h":2},
- {"label":"Left Pedal 3", "x":5.25, "y":7.5, "w":1.5, "h":2},
- {"label":"Right Pedal 1", "x":13.25, "y":7.5, "w":1.5, "h":2},
- {"label":"Right Pedal 2", "x":14.75, "y":7.5, "w":1.5, "h":2},
- {"label":"Right Pedal 3", "x":16.25, "y":7.5, "w":1.5, "h":2}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
deleted file mode 100644
index 506383a1bb..0000000000
--- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c
+++ /dev/null
@@ -1,396 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "mousekey.h"
-#include "keymap_bepo.h"
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-#define _BASE 0
-#define _SYMBOLS 1
-#define _MEDIA 2
-#define _TRNS 8
-
-#define PEDAL_DELAY 250
-#define KEY_DELAY 130
-
-enum macros {
- M_LP, // left pedal
- M_RP, // right pedal
- M_SF, // shift
- M_SFS, // shift and space
- M_L1E, // L1 and space
- L2INS, // L2 and insert
- L2LOC, // Lock L2
- M_UN, // undo
- M_CUT, // cut
- M_CP, // copy
- M_PS, // paste
- M_SE, // search
- M_SFU, // shift and underscore
-};
-
-static uint16_t key_timer_left_pedal;
-static uint16_t key_timer_right_pedal;
-static uint16_t key_timer_shift;
-static uint16_t key_timer_1;
-static uint16_t key_timer_2;
-
-static uint16_t shift_count = 0; //this is used to keep track of shift state and avoid inserting non breakable space
-static uint16_t l2_locked = 0; //this indicate wether L2 is locked
-
-#define BP_CBSP CTL_T(KC_BSPC)
-#define BP_CDEL CTL_T(KC_DEL)
-
-//layout : http://www.keyboard-layout-editor.com/#/gists/4480e3ab8026eb7c710a7e22203ef4aa
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* base
- * left foot clicked is right click
- * left foot pressed is layer 2
- * right foot clicked is left click
- * right foot pressed is layer 1 + scroll lock (used with autohotkey for easier scrolling with trackballs)
- * ,------. .. ,------. *
- * ,------| F3 |-------------. .. ,-------------| F10 |------. *
- * ,------| F2 |------| F4 | F5 |------. .. ,------| F8 | F9 |------| F11 |------. *
- * | F1 |------| »/3 |------|------| F6 | .. | F7 |------|------| -/8 |------| F12 | *
- * ,------+------| «/2 |------| (/4 | )/5 |------| .. |------| @/6 | +/7 |------| //9 |------+------. *
- * | ESC | "/1 |------| O |------|------| ¨ | .. | ^ |------|------| D |------| * /0 |BCKSP | *
- * |------+------| É |------| P | È |------| .. |------| K | V |------| L |------+------| *
- * | TAB | B |------| E |------|------| _ | .. | =/° |------|------| S |------| J |ENTER | *
- * |------+------| U |------| I | F |------| .. |------| C | T |------| R |------+------| *
- * | ` | A |------| Y |------|------| ; | .. | ! |------|------| UP |------| N | '/? | *
- * |------+------| À |------| X | W |------|-------------. .. .-------------|------| M | G |------| H |------+------| *
- * | SHIFT| Z |------| . |------|------|sp/sh |bsp/ct|L2/ins| .. |L2lock|del/CT|sp/sh |------|------| DOWN |------| Q |SHIFT | *
- * |------+------| / |------| , | space|------|------|------ .. ------|------|------| L1/sp| LEFT |------| UP |------+------| *
- * | CTRL | win |------/ \-------------| L1 | alt | .. | CAPS | L1 |-------------/ \------| : | CTRL | *
- * `-------------/ \-------------/ .. \-------------/ \-------------/ *
- *M(M_LP)
- */
-[_BASE] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
- KC_ESC, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_DTRM, BP_DCRC, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \
- KC_TAB, BP_B, BP_ECUT, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \
- BP_GRV, BP_A, BP_U, BP_E, BP_I, BP_F, BP_SCLN, BP_EXLM, BP_C, BP_T, BP_S, BP_R, BP_N, BP_APOS, \
- M(M_SF), BP_Z, BP_AGRV, BP_Y, BP_X, KC_RBRACKET, M(M_SFS), BP_CBSP, M(L2INS), M(L2LOC), BP_CDEL, M(M_SFS),BP_M, BP_G, KC_UP, BP_H, BP_Q, M(M_SF), \
- KC_LCTL, KC_LGUI, KC_PSLS, BP_DOT, BP_COMM, KC_SPACE,M(M_L1E), KC_LALT, KC_CAPS, M(M_L1E),KC_SPACE,KC_LEFT, KC_DOWN, KC_RIGHT,BP_COLN, KC_RCTL, \
- //left pedals
- M(M_LP), M(M_RP), KC_TRNS, \
- //right pedals
- M(M_LP), M(M_RP), KC_TRNS \
-),
-
- /* Larer 1 for symbols.
- * left foot is middle click
- * ,------. .. ,------. *
- * ,------| |-------------. .. ,-------------| |------. *
- * ,------| |------| | |------. .. ,------| | |------| |------. *
- * | |------| § |------|------| | .. | |------|------| ± |------| | *
- * ,------+------| ¶ |------| µ | |------| .. |------| ≤ | ≥ |------| ÷ |------+------. *
- * | | ¤ |------| { |------|------| ~ | .. | ˇ |------|------| ] |------| × | | *
- * |------+------| * |------| } | ` |------| .. |------| # | [ |------| % |------+------| *
- * | | \ |------| ( |------|------| | .. | ≠ |------|------| > |------| ‰ | | *
- * |------+------| Ù |------| ) | + |------| .. |------| Ç | < |------| & |------+------| *
- * | | = |------| copy |------|------| : | .. | ? |------|------| PGUP |------| _ | | *
- * |------+------| cut |------| paste|search|------|-------------. .. .-------------|------| $ | = |------| | |------+------| *
- * | | undo |------| \ |------|------| | | | .. | | | |------|------| PGDN |------| / | | *
- * |------+------| |------| | |------|------|------ .. ------|------|------| | HOME |------| PGDN |------+------| *
- * | | |------/ \-------------| | | .. | | |-------------/ \------| | | *
- * `-------------/ \-------------/ .. \-------------/ \-------------/ *
- *
- */
-[_SYMBOLS] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, BP_DCUR, BP_PARG, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_DCAR, BP_LEQL, BP_GEQL, BP_PSMS, BP_OBEL, BP_TIMS, KC_TRNS, \
- KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_DIFF, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PMIL, KC_TRNS, \
- KC_TRNS, BP_EQL, BP_UGRV, BP_LPRN, BP_RPRN, BP_PLUS, BP_COLN, BP_QEST, BP_CCED, BP_LESS, BP_GRTR, BP_AMPR, BP_UNDS, KC_TRNS, \
- KC_TRNS, M(M_UN), M(M_CUT),M(M_CP), M(M_PS), M(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, \
- //right pedals
- KC_TRNS, KC_BTN1, KC_TRNS \
-),
-
- /* MEDIA, mouse and numpad.
- * right pedal is left clic
- * ,------. .. ,------. *
- * ,------|PAUSE |-------------. .. ,-------------| PRINT|------. *
- * ,------|SCROLL|------|MUTE |VOLUD |------. .. ,------| pre | next |------| calc |------. *
- * |RESET |------| stop |------|------|VOLDU | .. | play |------|------| stop |------| num | *
- * ,------+------| |------| pre | next |------| .. |------| pre | next |------| |------+------. *
- * | | |------|scrolu|------|------| play | .. | play |------|------| 8 |------| - | | *
- * |------+------| |------| | bt4 |------| .. |------| next | 7 |------| 9 |------+------| *
- * | | |------|scrold|------|------| bt5 | .. | pre |------|------| 5 |------| + | | *
- * |------+------| |------|mclic | rclic|------| .. |------| rclic| 4 |------| 6 |------+------| *
- * | | |------| |------|------| lclic| .. | lclic|------|------| 2 |------| * | | *
- * |------+------| |------| | mclck|------|-------------. .. .-------------|------| mclic| 1 |------| 3 |------+------| *
- * | | |------| |------|------| | | | .. | | | |------|------| num. |------| / | | *
- * |------+------| |------| | |------|------|------ .. ------|------|------| | 0 |------| . |------+------| *
- * | | |------/ \-------------| | | .. | | |-------------/ \------| , | | *
- * `-------------/ \-------------/ .. \-------------/ \-------------/ *
- *
- */
-[_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(M_UN), M(M_CUT),M(M_CP), M(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(M_RP), KC_TRNS, \
- //right pedals
- KC_BTN3, M(M_RP), KC_TRNS \
-),
-
-/* TRNS - skeleton for laters
- * ,------. .. ,------. *
- * ,------| |-------------. .. ,-------------| |------. *
- * ,------| |------| | |------. .. ,------| | |------| |------. *
- * | |------| |------|------| | .. | |------|------| |------| | *
- * ,------+------| |------| | |------| .. |------| | |------| |------+------. *
- * | | |------| |------|------| | .. | |------|------| |------| | | *
- * |------+------| |------| | |------| .. |------| | |------| |------+------| *
- * | | |------| |------|------| | .. | |------|------| |------| | | *
- * |------+------| |------| | |------| .. |------| | |------| |------+------| *
- * | | |------| |------|------| | .. | |------|------| |------| | | *
- * |------+------| |------| | |------|-------------. .. .-------------|------| | |------| |------+------| *
- * | | |------| |------|------| | | | .. | | | |------|------| |------| | | *
- * |------+------| |------| | |------|------|------ .. ------|------|------| | |------| |------+------| *
- * | | |------/ \-------------| | | .. | | |-------------/ \------| | | *
- * `-------------/ \-------------/ .. \-------------/ \-------------/ *
- *
- */
-
-[_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, \
- //left pedals
- KC_BTN3, M(M_RP), KC_TRNS, \
- //right pedals
- KC_BTN3, M(M_RP), KC_TRNS \
-),
-
-};
-
-void hold_shift(void) {
- shift_count = shift_count + 1;
- register_code(KC_LSHIFT);
-}
-
-void release_shift(void) {
- shift_count = shift_count - 1;
- if(shift_count <= 0){
- unregister_code(KC_LSHIFT);
- shift_count = 0;
- }
-}
-
-void press_space(void) {
- if(shift_count > 0) unregister_code (KC_LSHIFT);
- register_code (KC_SPACE);
- unregister_code (KC_SPACE);
- if(shift_count > 0) register_code (KC_LSHIFT);
-}
-
-void press_enter(void) {
- if(shift_count > 0) unregister_code (KC_LSHIFT);
- register_code (KC_ENT);
- unregister_code (KC_ENT);
- if(shift_count > 0) register_code (KC_LSHIFT);
-}
-
-void press_underscore(void) {
- if(shift_count > 0) unregister_code (KC_LSHIFT);
- register_code ((unsigned char) BP_UNDS);
- unregister_code ((unsigned char) BP_UNDS);
- if(shift_count > 0) register_code (KC_LSHIFT);
-}
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case M_LP: //left pedal
- if (record->event.pressed) {
- layer_on(1);
- register_code (KC_SLCK);
- key_timer_left_pedal = timer_read(); // if the key is being pressed, we start the timer.
- } else {
- if (timer_elapsed(key_timer_left_pedal) < KEY_DELAY) {
- mousekey_on (KC_BTN2);
- mousekey_send();
- mousekey_off (KC_BTN2);
- mousekey_send();
- }
- unregister_code (KC_SLCK);
- layer_off(1);
- }
- break;
- case M_RP: //right pedal
- if (record->event.pressed) {
- layer_on(2);
- key_timer_right_pedal = timer_read(); // if the key is being pressed, we start the timer.
- } else {
- if (timer_elapsed(key_timer_right_pedal) < PEDAL_DELAY) {
- mousekey_on (KC_BTN1);
- mousekey_send();
- mousekey_off (KC_BTN1);
- mousekey_send();
- }
- layer_off(2);
- }
- break;
- case M_SF: // shift, using macro to keep track of shift state and avoid inserting nbsp by mistake
- if (record->event.pressed) {
- hold_shift();
- } else {
- release_shift();
- }
- break;
- case M_SFS: // shift when held, space when tapped
- if (record->event.pressed) {
- hold_shift();
- key_timer_shift = timer_read(); // if the key is being pressed, we start the timer.
- } else {
- if (timer_elapsed(key_timer_shift) < KEY_DELAY) {
- press_space();
- }
- release_shift();
- }
- break;
- case M_SFU: // shift when held, _ when tapped
- if (record->event.pressed) {
- hold_shift();
- key_timer_shift = timer_read(); // if the key is being pressed, we start the timer.
- } else {
- if (timer_elapsed(key_timer_shift) < KEY_DELAY) {
- press_space();
- }
- release_shift();
- }
- break;
- case M_L1E: // L1 when held, space when tapped
- if (record->event.pressed) {
- layer_on(1);
- key_timer_1 = timer_read(); // if the key is being pressed, we start the timer.
- } else {
- if (timer_elapsed(key_timer_1) < KEY_DELAY) {
- press_enter();
- }
- layer_off(1);
- }
- break;
- case L2INS: //activate layer 2, if released before 100ms trigger INS. basicaly equivalent to LT(2, KC_INS) but without delay for activation of layer 2
- if (record->event.pressed) {
- layer_on(2);
- key_timer_2 = timer_read(); // if the key is being pressed, we start the timer.
- } else {
- if (timer_elapsed(key_timer_2) < KEY_DELAY) {
- register_code (KC_INS);
- unregister_code (KC_INS);
- }
- l2_locked = 0;
- layer_off(2);
- }
- break;
- case L2LOC: //lock L2
- if (record->event.pressed) {
- key_timer_2 = timer_read(); // if the key is being pressed, we start the timer.
- layer_on(2);
- } else {
- if (timer_elapsed(key_timer_2) < KEY_DELAY && l2_locked == 0) {
- l2_locked = 1;
- layer_on(2);
- } else {
- l2_locked = 0;
- layer_off(2);
- }
- }
- break;
- case M_UN: // undo
- if (record->event.pressed) {
- register_code(KC_LCTL);
- register_code(BP_Z);
- unregister_code(BP_Z);
- unregister_code(KC_LCTL);
- }
- break;
- case M_CUT: // cut
- if (record->event.pressed) {
- register_code(KC_LCTL);
- register_code(BP_X);
- unregister_code(BP_X);
- unregister_code(KC_LCTL);
- }
- break;
- case M_CP: // copy
- if (record->event.pressed) {
- register_code(KC_LCTL);
- register_code(BP_C);
- unregister_code(BP_C);
- unregister_code(KC_LCTL);
- }
- break;
- case M_PS: // paste
- if (record->event.pressed) {
- register_code(KC_LCTL);
- register_code(BP_V);
- unregister_code(BP_V);
- unregister_code(KC_LCTL);
- }
- break;
- case M_SE: // search
- if (record->event.pressed) {
- register_code(KC_LCTL);
- register_code(BP_F);
- unregister_code(BP_F);
- unregister_code(KC_LCTL);
- }
- break;
- }
- return MACRO_NONE;
-};
-
-void matrix_init_user(void) {
-}
-
-// Bleah globals need to be initialized.
-uint8_t old_layer=_BASE;
-
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
-
- frenchdev_led_1_off();
- frenchdev_led_2_off();
- switch (layer) {
- case _BASE:
- frenchdev_led_2_on();
- break;
- case _SYMBOLS:
- frenchdev_led_1_on();
- break;
- case _MEDIA:
- frenchdev_led_1_on();
- frenchdev_led_2_on();
- default:
- // none
- break;
- }
-}
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
- if (usb_led & (1<<USB_LED_CAPS_LOCK)){
- frenchdev_led_3_on();
- } else {
- frenchdev_led_3_off();
- }
- return ;
-}
diff --git a/keyboards/handwired/frenchdev/keymaps/default/readme.md b/keyboards/handwired/frenchdev/keymaps/default/readme.md
deleted file mode 100644
index 1a81d1779f..0000000000
--- a/keyboards/handwired/frenchdev/keymaps/default/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-layout :
-
-[default layout](http://i.imgur.com/r2Nvr4p.png)
-
-the thing when finished :
-http://imgur.com/a/6FY8v
-
-concept and mockup:
-http://imgur.com/a/R0vvs
-
-to build :
-
- docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware
diff --git a/keyboards/handwired/frenchdev/matrix.c b/keyboards/handwired/frenchdev/matrix.c
deleted file mode 100644
index 7fe3d0bbf2..0000000000
--- a/keyboards/handwired/frenchdev/matrix.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
-
-Note to self: adapted from ergodox EZ matrix
-The "column" and "row" in here actually refers to the opposite on the keyboard
-see definition of KEYMAP in v1.h, the grid is transposed so that a "row" in here is actually a "column" on the physical keyboard
-Nicolas
-
-Note for ErgoDox EZ customizers: Here be dragons!
-This is not a file you want to be messing with.
-All of the interesting stuff for you is under keymaps/ :)
-Love, Erez
-
-Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
-Copyright 2013 Nicolas Poirey <nicolas.poirey@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * scan matrix
- */
-#include <stdint.h>
-#include <stdbool.h>
-#include <avr/io.h>
-#include "wait.h"
-#include "action_layer.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "frenchdev.h"
-#include "i2cmaster.h"
-#ifdef DEBUG_MATRIX_SCAN_RATE
-#include "timer.h"
-#endif
-
-/*
- * This constant define not debouncing time in msecs, but amount of matrix
- * scan loops which should be made to get stable debounced results.
- *
- * On Ergodox matrix scan rate is relatively low, because of slow I2C.
- * Now it's only 317 scans/second, or about 3.15 msec/scan.
- * According to Cherry specs, debouncing time is 5 msec.
- *
- * And so, there is no sense to have DEBOUNCE higher than 2.
- */
-
-#ifndef DEBOUNCE
-# define DEBOUNCE 5
-#endif
-static uint8_t debouncing = DEBOUNCE;
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-static matrix_row_t read_cols(uint8_t row);
-static void init_cols(void);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-
-static uint8_t mcp23018_reset_loop;
-
-#ifdef DEBUG_MATRIX_SCAN_RATE
-uint32_t matrix_timer;
-uint32_t matrix_scan_count;
-#endif
-
-
-__attribute__ ((weak))
-void matrix_init_user(void) {}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {}
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-inline
-uint8_t matrix_rows(void)
-{
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void)
-{
- return MATRIX_COLS;
-}
-
-void matrix_init(void)
-{
- // initialize row and col
- debug_enable = true;
- debug_matrix = true;
- debug_keyboard = true;
- debug_mouse = true;
-
- mcp23018_status = init_mcp23018();
-
-
- unselect_rows();
- init_cols();
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
-
-#ifdef DEBUG_MATRIX_SCAN_RATE
- matrix_timer = timer_read32();
- matrix_scan_count = 0;
-#endif
-
- matrix_init_quantum();
-
-}
-
-void matrix_power_up(void) {
- mcp23018_status = init_mcp23018();
-
- unselect_rows();
- init_cols();
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
-
-#ifdef DEBUG_MATRIX_SCAN_RATE
- matrix_timer = timer_read32();
- matrix_scan_count = 0;
-#endif
-
-}
-
-uint8_t matrix_scan(void)
-{
- if (mcp23018_status) { // if there was an error
- if (++mcp23018_reset_loop == 0) {
- // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans
- // this will be approx bit more frequent than once per second
- print("trying to reset mcp23018\n");
- mcp23018_status = init_mcp23018();
- if (mcp23018_status) {
- print("left side not responding\n");
- } else {
- print("left side attached\n");
- frenchdev_blink_all_leds();
- }
- }
- }
-
-#ifdef DEBUG_MATRIX_SCAN_RATE
- matrix_scan_count++;
-
- uint32_t timer_now = timer_read32();
- if (TIMER_DIFF_32(timer_now, matrix_timer)>1000) {
- print("matrix scan frequency: ");
- pdec(matrix_scan_count);
- print("\n");
-
- matrix_timer = timer_now;
- matrix_scan_count = 0;
- }
-#endif
-
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- select_row(i);
- wait_us(30); // without this wait read unstable value.
- matrix_row_t cols = read_cols(i);
- if (matrix_debouncing[i] != cols) {
- matrix_debouncing[i] = cols;
- if (debouncing) {
- debug("bounce!: "); debug_hex(debouncing); debug("\n");
- }
- debouncing = DEBOUNCE;
- }
- unselect_rows();
- }
-
- if (debouncing) {
- if (--debouncing) {
- wait_us(1);
- // this should be wait_ms(1) but has been left as-is at EZ's request
- } else {
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- matrix[i] = matrix_debouncing[i];
- }
- }
- }
-
- matrix_scan_quantum();
-
- return 1;
-}
-
-bool matrix_is_modified(void)
-{
- if (debouncing) return false;
- return true;
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & ((matrix_row_t)1<<col));
-}
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- print("\nr/c 0123456789ABCDEF\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- pbin_reverse16(matrix_get_row(row));
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += bitpop16(matrix[i]);
- }
- return count;
-}
-
-/* Column pin configuration
- *
- * Teensy
- * col: 0 1 2 3 4 5
- * pin: F0 F1 F4 F5 F6 F7
- *
- * MCP23018
- * col: 0 1 2 3 4 5
- * pin: B5 B4 B3 B2 B1 B0
- */
-static void init_cols(void)
-{
- // init on mcp23018
- // not needed, already done as part of init_mcp23018()
-
- // init on teensy
- // Input with pull-up(DDR:0, PORT:1)
- DDRF &= ~(1<<7 | 1<<6 | 1<<5 | 1<<4 | 1<<1 | 1<<0);
- PORTF |= (1<<7 | 1<<6 | 1<<5 | 1<<4 | 1<<1 | 1<<0);
-}
-
-static matrix_row_t read_cols(uint8_t row)
-{
- if (row < 8) {
- if (mcp23018_status) { // if there was an error
- return 0;
- } else {
- uint8_t data = 0;
- mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOB); if (mcp23018_status) goto out;
- mcp23018_status = i2c_start(I2C_ADDR_READ); if (mcp23018_status) goto out;
- data = i2c_readNak();
- data = ~data;
- out:
- i2c_stop();
- return data;
- }
- } else {
- // read from teensy
- return
- (PINF&(1<<0) ? 0 : (1<<0)) |
- (PINF&(1<<1) ? 0 : (1<<1)) |
- (PINF&(1<<4) ? 0 : (1<<2)) |
- (PINF&(1<<5) ? 0 : (1<<3)) |
- (PINF&(1<<6) ? 0 : (1<<4)) |
- (PINF&(1<<7) ? 0 : (1<<5)) ;
- }
-}
-
-/* Row pin configuration
- *
- * Teensy
- * row: 7 8 9 10 11 12 13
- * pin: B0 B1 B2 B3 D2 D3 C6
- *
- * MCP23018
- * row: 0 1 2 3 4 5 6
- * pin: A0 A1 A2 A3 A4 A5 A6
- */
-static void unselect_rows(void)
-{
- // unselect on mcp23018
- if (mcp23018_status) { // if there was an error
- // do nothing
- } else {
- // set all rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write( 0xFF
- & ~(0<<8)
- ); if (mcp23018_status) goto out;
- out:
- i2c_stop();
- }
-
- // unselect on teensy
- // Hi-Z(DDR:0, PORT:0) to unselect
- DDRB &= ~(1<<0 | 1<<1 | 1<<2 | 1<<3);
- PORTB &= ~(1<<0 | 1<<1 | 1<<2 | 1<<3);
- DDRD &= ~(1<<2 | 1<<3);
- PORTD &= ~(1<<2 | 1<<3);
- DDRC &= ~(1<<6 | 1<<7);
- PORTC &= ~(1<<6 | 1<<7);
-}
-
-static void select_row(uint8_t row)
-{
- if (row < 8) {
- // select on mcp23018
- if (mcp23018_status) { // if there was an error
- // do nothing
- } else {
- // set active row low : 0
- // set other rows hi-Z : 1
- mcp23018_status = i2c_start(I2C_ADDR_WRITE); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write(GPIOA); if (mcp23018_status) goto out;
- mcp23018_status = i2c_write( 0xFF & ~(1<<row)
- & ~(0<<8)
- ); if (mcp23018_status) goto out;
- out:
- i2c_stop();
- }
- } else {
- // select on teensy
- // Output low(DDR:1, PORT:0) to select
- switch (row) {
- case 8:
- DDRB |= (1<<0);
- PORTB &= ~(1<<0);
- break;
- case 9:
- DDRB |= (1<<1);
- PORTB &= ~(1<<1);
- break;
- case 10:
- DDRB |= (1<<2);
- PORTB &= ~(1<<2);
- break;
- case 11:
- DDRB |= (1<<3);
- PORTB &= ~(1<<3);
- break;
- case 12:
- DDRD |= (1<<2);
- PORTD &= ~(1<<3);
- break;
- case 13:
- DDRD |= (1<<3);
- PORTD &= ~(1<<3);
- break;
- case 14:
- DDRC |= (1<<6);
- PORTC &= ~(1<<6);
- break;
- case 15:
- DDRC |= (1<<7);
- PORTC &= ~(1<<7);
- break;
- }
- }
-}
-
diff --git a/keyboards/handwired/frenchdev/readme.md b/keyboards/handwired/frenchdev/readme.md
deleted file mode 100644
index 96825bb799..0000000000
--- a/keyboards/handwired/frenchdev/readme.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# Frenchdev : My take on a splitted keyboard for dev and french language
-Concept based on
- - [ergodox](https://ergodox-ez.com/)
- - [katy](https://deskthority.net/workshop-f7/katy-keyboard-or-k80cs-key80-contoured-split-t8524.html)
-
-with the added possibility to connect up to 6 external switches like pedals,
- and somewhat like the katy, not all keys are on the same level for easier reach.
-
-### Photos
-- [default layout](http://i.imgur.com/r2Nvr4p.png)
-- [editable layout on keyboard layout editor](http://www.keyboard-layout-editor.com/#/gists/4480e3ab8026eb7c710a7e22203ef4aa) (keys placement is NOT precise on this)
-- [the thing when finished](http://imgur.com/a/6FY8v)
-- [concept and cardboard mockup](http://imgur.com/a/R0vvs)
-
-## Build instructions
-
- docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware
-
-## Laser-cuttable file
-There is intentionnaly no hole for the TRRS connector, you are supposed to use a drill for it.
-This way if you don't want to use the pedals you don't have a useless hole. Plus it's cleaner.
-
-## Side stickers
-You can find my original file here : http://qmk.fm/frenchdev/example_printable_stickers.svg
-
-I used it when training but now I use blanks and the layout is different.
-I still uploaded it because I think it can be a good jumpstart for any temporary stickers on the
-side of keycaps.
-
-## List of parts
-- I2C mcp23018
-- [teensy 2](https://www.pjrc.com/store/teensy.html)
-- 3 LED, 5mm tall with flat head
-- 3 330 ohm resistor
-- 2 470 ohm resistor
-- 2 TRRS connectors
-- 1 [micro usb breakout board](http://www.ebay.com/itm/-/201387922085?)
-- 88 cherry/gateron switchs
-- 94 4148 diodes
-- 34 R4 keys
-- 14 R3 keys
-- 20 R2 keys
-- 22 R1 keys
-
-If you fancy adding pedals :
-[these are good enough and cheap](https://www.amazon.fr/gp/product/B00V7WITKI/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1). You also need a RCA connector for each of those to replace the included cable
-
-If you (or your coworkers) find them too loud you can replace the switch inside them.
-For once we don't really care about what's inside :)
-
-## Various indications
-
-The PHYSICAL rows and columns are connected as such :
-
-on right hand (slave) :
-
- I2C mcp23018
- .------- --------.
- GND -| 1 VSS \_/ NC 28 |
- | 2 NC A7 27 |- C15
- R5 -| 3 B0 A6 26 |- C14
- R4 -| 4 B1 A5 25 |- C13
- R3 -| 5 B2 A4 24 |- C12
- R2 -| 6 B3 A3 23 |- C11
- R1 -| 7 B4 A2 22 |- C10
- R0 -| 8 B5 A1 21 |- C9
- | 9 B6 A0 20 |- C8
- | 10 B7 INTA 19 |
- VCC -| 11 VDD INTB 18 |
- SCL -| 12 SCL NC 17 |
- SDA -| 13 SDA RST 16 |- VCC
- | 14 NC ADDR 15 |- GND
- `------------------'
-
-and on left hand (main) :
-
- TEENSY
- .------------------.
- | GND VCC |
- C7 -| B0 F0 |- R5
- C6 -| B1 F1 |- R4
- C5 -| B2 F4 |- R3
- C4 -| B3 F5 |- R2
- LEDC -| B7 F6 |- R1
- SCL -| D0 F7 |- R0
- SDA -| D1 B6 |- LEDB
- C3 -| D2 B5 |- LEDA
- C2 -| D3 B4 |
- C1 -| C6 D7 |
- C0 -| C7 D6 |- GND
- | D5 D4 |
- | VCC RST |
- | E6 GND |
- `------------------'
-
-We use pull up resistor for SCL and VDA, see https://github.com/ErgoDox-EZ/docs/blob/master/ErgoDox%20EZ%20Schematic.pdf for example
-
-The connector is a standard TRRS (jack with audio + mic)
-
-Diode direction is row to column
-
diff --git a/keyboards/handwired/frenchdev/rules.mk b/keyboards/handwired/frenchdev/rules.mk
deleted file mode 100644
index c82bf4a389..0000000000
--- a/keyboards/handwired/frenchdev/rules.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make = Make software.
-#
-# make clean = Clean out built project files.
-#
-# That's pretty much all you need. To compile, always go make clean,
-# followed by make.
-#
-# For advanced users only:
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-# (must have teensy_loader_cli installed).
-#
-#----------------------------------------------------------------------------
-
-# # project specific files
-SRC = twimaster.c \
- matrix.c
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-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
-UNICODE_ENABLE = yes # Unicode
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-RGBLIGHT_ENABLE = no
-API_SYSEX_ENABLE = no
-
diff --git a/keyboards/handwired/frenchdev/twimaster.c b/keyboards/handwired/frenchdev/twimaster.c
deleted file mode 100644
index f91c08e6e4..0000000000
--- a/keyboards/handwired/frenchdev/twimaster.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*************************************************************************
-* Title: I2C master library using hardware TWI interface
-* Author: Peter Fleury <pfleury@gmx.ch> http://jump.to/fleury
-* File: $Id: twimaster.c,v 1.3 2005/07/02 11:14:21 Peter Exp $
-* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3
-* Target: any AVR device with hardware TWI
-* Usage: API compatible with I2C Software Library i2cmaster.h
-**************************************************************************/
-#include <inttypes.h>
-#include <compat/twi.h>
-
-#include <i2cmaster.h>
-
-
-/* define CPU frequency in Mhz here if not defined in Makefile */
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-/* I2C clock in Hz */
-#define SCL_CLOCK 400000L
-
-
-/*************************************************************************
- Initialization of the I2C bus interface. Need to be called only once
-*************************************************************************/
-void i2c_init(void)
-{
- /* initialize TWI clock
- * minimal values in Bit Rate Register (TWBR) and minimal Prescaler
- * bits in the TWI Status Register should give us maximal possible
- * I2C bus speed - about 444 kHz
- *
- * for more details, see 20.5.2 in ATmega16/32 secification
- */
-
- TWSR = 0; /* no prescaler */
- TWBR = 10; /* must be >= 10 for stable operation */
-
-}/* i2c_init */
-
-
-/*************************************************************************
- Issues a start condition and sends address and transfer direction.
- return 0 = device accessible, 1= failed to access device
-*************************************************************************/
-unsigned char i2c_start(unsigned char address)
-{
- uint8_t twst;
-
- // send START condition
- TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
-
- // wait until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst != TW_START) && (twst != TW_REP_START)) return 1;
-
- // send device address
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- // wail until transmission completed and ACK/NACK has been received
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst != TW_MT_SLA_ACK) && (twst != TW_MR_SLA_ACK) ) return 1;
-
- return 0;
-
-}/* i2c_start */
-
-
-/*************************************************************************
- Issues a start condition and sends address and transfer direction.
- If device is busy, use ack polling to wait until device is ready
-
- Input: address and transfer direction of I2C device
-*************************************************************************/
-void i2c_start_wait(unsigned char address)
-{
- uint8_t twst;
-
-
- while ( 1 )
- {
- // send START condition
- TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
-
- // wait until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst != TW_START) && (twst != TW_REP_START)) continue;
-
- // send device address
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- // wail until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits.
- twst = TW_STATUS & 0xF8;
- if ( (twst == TW_MT_SLA_NACK )||(twst ==TW_MR_DATA_NACK) )
- {
- /* device busy, send stop condition to terminate write operation */
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- // wait until stop condition is executed and bus released
- while(TWCR & (1<<TWSTO));
-
- continue;
- }
- //if( twst != TW_MT_SLA_ACK) return 1;
- break;
- }
-
-}/* i2c_start_wait */
-
-
-/*************************************************************************
- Issues a repeated start condition and sends address and transfer direction
-
- Input: address and transfer direction of I2C device
-
- Return: 0 device accessible
- 1 failed to access device
-*************************************************************************/
-unsigned char i2c_rep_start(unsigned char address)
-{
- return i2c_start( address );
-
-}/* i2c_rep_start */
-
-
-/*************************************************************************
- Terminates the data transfer and releases the I2C bus
-*************************************************************************/
-void i2c_stop(void)
-{
- /* send stop condition */
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- // wait until stop condition is executed and bus released
- while(TWCR & (1<<TWSTO));
-
-}/* i2c_stop */
-
-
-/*************************************************************************
- Send one byte to I2C device
-
- Input: byte to be transfered
- Return: 0 write successful
- 1 write failed
-*************************************************************************/
-unsigned char i2c_write( unsigned char data )
-{
- uint8_t twst;
-
- // send data to the previously addressed device
- TWDR = data;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- // wait until transmission completed
- while(!(TWCR & (1<<TWINT)));
-
- // check value of TWI Status Register. Mask prescaler bits
- twst = TW_STATUS & 0xF8;
- if( twst != TW_MT_DATA_ACK) return 1;
- return 0;
-
-}/* i2c_write */
-
-
-/*************************************************************************
- Read one byte from the I2C device, request more data from device
-
- Return: byte read from I2C device
-*************************************************************************/
-unsigned char i2c_readAck(void)
-{
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
- while(!(TWCR & (1<<TWINT)));
-
- return TWDR;
-
-}/* i2c_readAck */
-
-
-/*************************************************************************
- Read one byte from the I2C device, read is followed by a stop condition
-
- Return: byte read from I2C device
-*************************************************************************/
-unsigned char i2c_readNak(void)
-{
- TWCR = (1<<TWINT) | (1<<TWEN);
- while(!(TWCR & (1<<TWINT)));
-
- return TWDR;
-
-}/* i2c_readNak */
diff --git a/keyboards/handwired/gamenum/config.h b/keyboards/handwired/gamenum/config.h
deleted file mode 100644
index 180b1b01ae..0000000000
--- a/keyboards/handwired/gamenum/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x1234
-#define PRODUCT_ID 0x5678
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Seth-Senpai
-#define PRODUCT GameNum
-#define DESCRIPTION Numpad with gamelayers
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 }
-#define MATRIX_COL_PINS { D7, E6, B4, B5 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-// #define BACKLIGHT_PIN C6
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/gamenum/gamenum.c b/keyboards/handwired/gamenum/gamenum.c
deleted file mode 100644
index 8048194bbc..0000000000
--- a/keyboards/handwired/gamenum/gamenum.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "gamenum.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- DDRC |= (1<<6);
- PORTC &= ~(1<<6);
-
- DDRD |= (1<<4);
- PORTD &= ~(1<<4);
-
- matrix_init_user();
-
-}
diff --git a/keyboards/handwired/gamenum/gamenum.h b/keyboards/handwired/gamenum/gamenum.h
deleted file mode 100644
index 3a1429ff8c..0000000000
--- a/keyboards/handwired/gamenum/gamenum.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef GAMENUM_H
-#define GAMENUM_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, \
- k30, k31, k32, \
- k41, k42, k43 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, KC_NO }, \
- { k30, k31, k32, KC_NO }, \
- { KC_NO, k41, k42, k43 } \
-}
-
-#endif
diff --git a/keyboards/handwired/gamenum/info.json b/keyboards/handwired/gamenum/info.json
deleted file mode 100644
index dc80f027e8..0000000000
--- a/keyboards/handwired/gamenum/info.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "keyboard_name": "gamenum",
- "url": "",
- "maintainer": "qmk",
- "width": 4,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Fn", "x":0, "y":0},
- {"label":"/", "x":1, "y":0},
- {"label":"*", "x":2, "y":0},
- {"label":"-", "x":3, "y":0},
- {"label":"7", "x":0, "y":1},
- {"label":"8", "x":1, "y":1},
- {"label":"9", "x":2, "y":1},
- {"label":"+", "x":3, "y":1, "h":2},
- {"label":"4", "x":0, "y":2},
- {"label":"5", "x":1, "y":2},
- {"label":"6", "x":2, "y":2},
- {"label":"1", "x":0, "y":3},
- {"label":"2", "x":1, "y":3},
- {"label":"3", "x":2, "y":3},
- {"label":"0", "x":0, "y":4, "w":2},
- {"label":".", "x":2, "y":4},
- {"label":"Ent", "x":3, "y":3, "h":2}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/gamenum/keymaps/default/keymap.c b/keyboards/handwired/gamenum/keymaps/default/keymap.c
deleted file mode 100644
index 7d667cd390..0000000000
--- a/keyboards/handwired/gamenum/keymaps/default/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-#define DEF 0
-#define HDN 1
-#define OSY 2
-
-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 \
- ),
- [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 \
- ),
- [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 \
- )
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- return MACRO_NONE;
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case TO(HDN):
- if (record->event.pressed) {
- PORTC |= (1 << 6); // PC6 goes high
- }
-
- return true;
-
- case TO(OSY):
- if (record->event.pressed) {
- PORTC &= ~(1 << 6); // PC6 goes high
- PORTD |= (1<<4);
- }
-
- return true;
-
- case TO(DEF):
- if (record->event.pressed) {
- PORTD &= ~(1 << 4); // PC6 goes high
- }
-
- return true;
-
- default:
- return true;
- }
-}
diff --git a/keyboards/handwired/gamenum/readme.md b/keyboards/handwired/gamenum/readme.md
deleted file mode 100644
index ee28cc1822..0000000000
--- a/keyboards/handwired/gamenum/readme.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# GameNum
-
-A handwired standard numpad oriented toward gaming on the go.
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: GameNum, Pro Micro
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/gamenum: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).
-
-## Board overview
-
-The GameNum was designed to facilitate the use of mechanical keys for gaming even when your packing space is limited.
-It uses a standard numpad layout replacing the NumLock key with a layer toggle that allows you to cycle through the different layers.
-The standard layout features a default layer that acts as a standard numpad, a layer that was meant for simple WASD based games and a layer that was designed to be used for MOBA/RTS related games.
-The RTS layer is meant to be used rotating the device 90 degrees counterclockwise.
-
-The README.MD for this board is reasonably extensive and in-depth because the build is quite small and covers a lot of things that I feel that it would be a good starting point for getting into QMK.
-
-## Build considerations
-
-Since the GameNum is handwired and uses 2 of its pins to toggle indicator lights there are some things to keep in mind.
-Firmware was build for use with a Pro Micro based on a ATMEGA32u4 at 16mHz.
-The indicator LED's are normally assigned to `pin C6` and `pin D4`, C6 goes high when the first layer is used, D4 goes high when layer 2 is used. Both LED's are off when the default layer is enabled.
-'+' of the LED goes to the respective pins and can be joined together on the '-' into a resistor that runs to the ground pin of the pro micro. With a standard LED a resistor value of 100 ohm is fine, keep in mind that you cannot use high powered LEDS on these pins without ruining your pro micro.
-
-## schematic of the switches and diodes
-
-![schematic overview](http://i.imgur.com/fleitoA.jpg)
-
-Keep in mind that the minus of the diodes should point towards the pro micros inputs.
-
-## LED hookup
-
-![led overview](http://i.imgur.com/U6m865n.jpg)
-
-## Adding more layers
-
-Adding additional layers is pretty straight forward. Look in `keymaps/default/keymap.c` and find `#define OSY 2` add a new definition for the layer you are going to add. This can be named pretty much anything. Example: `#define NAMEHERE 3`.
-Keep in mind here that the number after the name should correspond with the number that the layer has in the stack of layers.
-
-Next thing to do is to add the actual layer for the keymap.
-
-```
- [DEF] = LAYOUT(
- KC_FN0, 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 \
- )
-```
-
-This is the default layer for the gamenum. It's generally easiest to just copy this and change things as you see fit. Keep in mind that at least 1 button on the pad has to be used to switch to the next layer in the stack or you will be stuck in that layer FOREVER! D:
-In the case of DEF this is key `KC_FN0`. Also keep in mind that the last layer that you add does not have a comma after its closing bracket but any other layer does!
-
-Which brings us nicely to the next part, the layer switching logic. Under the keymaps look for `PROGMEM fn_actions[]` this function handles the switching between layers, as you might have noticed every layer in the keymap has its own KC_FNx key. This is the key responsible for switching you from layer to layer.
-The number that is at the end of the keycode corresponds with the code in the function.
-`[0] = ACTION_LAYER_SET(HDN, ON_PRESS),` When `KC_FN0` is pressed the keyboard switches layer `HDN` on when the key is pressed down. Add an extra line for your layer here as well.
-
-Now for the LEDs, if you plan on adding extra LED's to the keyboard to indicate other layers you have to first define the pin that the LED will be using in `gamenum.c`.
-Look for this piece of code:
-
-```
- DDRD |= (1<<4);
- PORTD &= ~(1<<4);
-```
-
-Copy it and change the letter after DDR and PORT to the letter of your pin. Change the 4 to the number of your pin. `DDRx |= (1<<y);` defines that pin as an output. `PORTx &= ~(1<<y);` sets the pin to LOW turning off the LED.
-
-Now go back to `keymap.c` and look for the `process_record_user` function. The function is basically a switch case that checks if you pushed one of the defined layer-switch buttons. When it sees that you pushed one of them it sets the pins of the LED's either low or high.
-
-```
- case KC_FN1:
- if (record->event.pressed) {
- PORTC &= ~(1 << 6); // PC6 goes low
- PORTD |= (1<<4); //PD4 goes high
- }
- break;
-```
-
-This is the code for the KC_FN1 button. Notice how we check against what key is pressed in the case and then set pin C6 low and pin D4 high. Adjust this as you see fit.
diff --git a/keyboards/handwired/gamenum/rules.mk b/keyboards/handwired/gamenum/rules.mk
deleted file mode 100644
index d980716eae..0000000000
--- a/keyboards/handwired/gamenum/rules.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-
-
diff --git a/keyboards/handwired/hexon38/config.h b/keyboards/handwired/hexon38/config.h
deleted file mode 100644
index 5453eda543..0000000000
--- a/keyboards/handwired/hexon38/config.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// see https://github.com/pepaslabs/hexon38
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER pepaslabs
-#define PRODUCT hexon38
-#define DESCRIPTION "A handmade non-split ergonomic 38-key keyboard, inspired by the lil38. See https://github.com/pepaslabs/hexon38."
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B0, F0, B2, F4 }
-#define MATRIX_COL_PINS { C6, D3, D2, D1, D0, B7, F6, F7, B6, B5, B4, D7 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* number of backlight levels */
-
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 0
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 0
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
-
-
-// Disabled features:
-
-/* 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
-
-/* prevent stuck modifiers */
-//#define PREVENT_STUCK_MODIFIERS
diff --git a/keyboards/handwired/hexon38/hexon38.c b/keyboards/handwired/hexon38/hexon38.c
deleted file mode 100644
index d830adef3c..0000000000
--- a/keyboards/handwired/hexon38/hexon38.c
+++ /dev/null
@@ -1,3 +0,0 @@
-// see https://github.com/pepaslabs/hexon38
-
-#include "hexon38.h"
diff --git a/keyboards/handwired/hexon38/hexon38.h b/keyboards/handwired/hexon38/hexon38.h
deleted file mode 100644
index f98f460faf..0000000000
--- a/keyboards/handwired/hexon38/hexon38.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// see https://github.com/pepaslabs/hexon38
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K002, K003, K004, K005, K006, K007, K008, K009, \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
- K200, K201, K202, K203, K204, K207, K208, K209, K210, K211, \
- K302, K303, K304, K305, K306, K307, K308, K309 \
-) { \
- { KC_NO, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, KC_NO, KC_NO }, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
- { K200, K201, K202, K203, K204, KC_NO, KC_NO, 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/hexon38/keymaps/default/keymap.c b/keyboards/handwired/hexon38/keymaps/default/keymap.c
deleted file mode 100644
index 65dfb4ca04..0000000000
--- a/keyboards/handwired/hexon38/keymaps/default/keymap.c
+++ /dev/null
@@ -1,407 +0,0 @@
-// see https://github.com/pepaslabs/hexon38
-
-#include QMK_KEYBOARD_H
-
-#define A_ KC_A
-#define B_ KC_B
-#define C_ KC_C
-#define D_ KC_D
-#define E_ KC_E
-#define F_ KC_F
-#define G_ KC_G
-#define H_ KC_H
-#define I_ KC_I
-#define J_ KC_J
-#define K_ KC_K
-#define L_ KC_L
-#define M_ KC_M
-#define N_ KC_N
-#define O_ KC_O
-#define P_ KC_P
-#define Q_ KC_Q
-#define R_ KC_R
-#define S_ KC_S
-#define T_ KC_T
-#define U_ KC_U
-#define V_ KC_V
-#define W_ KC_W
-#define X_ KC_X
-#define Y_ KC_Y
-#define Z_ KC_Z
-
-// Dual-role keys: modifier when held, alpha when tapped.
-#define A_CTL CTL_T(KC_A)
-#define S_ALT ALT_T(KC_S)
-#define D_GUI GUI_T(KC_D)
-#define F_SFT SFT_T(KC_F)
-#define J_SFT SFT_T(KC_J)
-#define K_GUI GUI_T(KC_K)
-#define L_ALT ALT_T(KC_L)
-#define COLN_CTL CTL_T(KC_SCLN)
-
-#define ______ KC_TRNS
-#define LSHIFT KC_LSHIFT
-#define RSHIFT KC_RSHIFT
-#define COMMA KC_COMM
-#define SLASH KC_SLSH
-#define SPACE KC_SPC
-#define TAB KC_TAB
-#define BKSPC KC_BSPC
-#define ENTER KC_ENT
-#define PERIOD KC_DOT
-
-#define BASE_LAYER LAYOUT
-#define BLANK_LAYER LAYOUT
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- BASE_LAYER(
-// ,--------+--------+--------+--------. ,--------+--------+--------+--------.
- W_ , E_ , R_ , T_ , Y_ , U_ , I_ , O_ ,
-//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------.
- Q_ , A_CTL , S_ALT , D_GUI , F_SFT , G_ , H_ , J_SFT , K_GUI , L_ALT ,COLN_CTL, P_ ,
-//|--------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+--------|
- B_ , Z_ , X_ , C_ , V_ , M_ , COMMA , PERIOD , SLASH , N_ ,
-//`--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------'
-
-// ,--------+--------+--------+--------. ,--------+--------+--------+--------.
- LSHIFT , SPACE , TAB , DEBUG , SPACE , BKSPC , ENTER , RSHIFT
-// `--------+--------+--------+--------' `--------+--------+--------+--------'
-),
-
- BLANK_LAYER(
-// ,--------+--------+--------+--------. ,--------+--------+--------+--------.
- ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ ,
-//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------.
- ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ ,
-//|--------+--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------+--------|
- ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______ ,
-//`--------+--------+--------+--------+--------' `--------+--------+--------+--------+--------'
-
-// ,--------+--------+--------+--------. ,--------+--------+--------+--------.
- ______ , ______ , ______ , ______ , ______ , ______ , ______ , ______
-// `--------+--------+--------+--------' `--------+--------+--------+--------'
-)
-
-};
-
-// a linked list of pending key events (press or release) which we haven't processed yet.
-struct _pending_key_t {
- uint16_t keycode;
- keyrecord_t record;
- struct _pending_key_t *next;
-};
-typedef struct _pending_key_t pending_key_t;
-
-// worst case is 10 down strokes and 1 up stroke before we can start disambiguating.
-#define RINGSIZE 11
-
-// a ring buffer and linked list to store pending key events (presses and releases).
-// (basically, this is a fixed-allocation linked list.)
-struct _kring_t {
- // the actual key events.
- pending_key_t items[RINGSIZE];
- // the index of the oldest item, or -1 if no items.
- int8_t ifirst;
- // the index of the most recently added item, or -1 if no items.
- int8_t ilast;
- // the number of items in the ring.
- uint8_t count;
- // the head of the linked list.
- pending_key_t *head;
-};
-typedef struct _kring_t kring_t;
-
-// safe accessor to the i-th item of the linked list (returns pointer or NULL).
-pending_key_t* kring_get(kring_t *ring, uint8_t i) {
- if (i >= ring->count) {
- return NULL;
- }
- uint8_t j = (ring->ifirst + i) % RINGSIZE;
- return &(ring->items[j]);
-}
-
-// return the last key in the list of buffered keys.
-pending_key_t* kring_last(kring_t *ring) {
- if (ring->count == 0) {
- return NULL;
- }
- return kring_get(ring, ring->count - 1);
-}
-
-// remove the oldest item from the ring (the head of the list).
-void kring_pop(kring_t *ring) {
- if (ring->count > 0) {
- ring->ifirst += 1;
- ring->ifirst %= RINGSIZE;
- ring->head = ring->head->next;
- ring->count -= 1;
- }
-}
-
-// add an item to the ring (append to the list).
-void kring_append(kring_t *ring, uint16_t keycode, keyrecord_t *record) {
- if (ring->count >= RINGSIZE) {
- // uh oh, we overflowed the capacity of our buffer :(
- return;
- }
-
- // if the ring is empty, insert at index 0.
- if (ring->count == 0) {
- ring->count += 1;
- ring->ifirst = 0;
- ring->ilast = 0;
- ring->head = &(ring->items[0]);
- }
- // else, append it onto the end.
- else {
- ring->count += 1;
- ring->ilast += 1;
- ring->ilast %= RINGSIZE;
- }
-
- // the index at which we should insert this item.
- int8_t i = ring->ilast;
-
- // insert the item.
- ring->items[i].keycode = keycode;
- ring->items[i].record.event = record->event;
-#ifndef NO_ACTION_TAPPING
- ring->items[i].record.tap = record->tap;
-#endif
- ring->items[i].next = NULL;
-
- // update the previous item to point to this item.
- if (ring->count > 1) {
- kring_get(ring, ring->count - 2)->next = &(ring->items[i]);
- }
-}
-
-kring_t g_pending;
-
-void matrix_init_user(void) {
- g_pending.ifirst = -1;
- g_pending.ilast = -1;
- g_pending.count = 0;
- g_pending.head = NULL;
-}
-
-void matrix_scan_user(void) {}
-
-/*
-a_ a-: emit a
-a_ b_ b- a-: emit SHIFT+b
-a_ b_ a- b-: emit a, b
-dual1down, dual1up -> norm1down, norm1up
-dual1down, norm2down, norm2up -> mod1down, norm2down, norm2up
-dual1down, norm2down, dual1up -> norm1down, norm2down, norm1up
-dual1down, dual2down, norm3down, norm3up -> mod1down, mod2down, norm3down, norm3up
-so, a dual key can't be disambiguated until the next keyup of a keydown (not including keyups from keys before it).
-*/
-
-bool is_ambiguous_kc(uint16_t kc) {
- // See the MT() define: https://github.com/qmk/qmk_firmware/blob/master/quantum/quantum_keycodes.h#L642
- // See the QK_MOD_TAP case: https://github.com/qmk/qmk_firmware/blob/master/quantum/keymap_common.c#L134
- uint8_t mod = mod_config((kc >> 0x8) & 0x1F);
- return mod != 0;
-}
-
-bool is_down(pending_key_t *k) {
- return k->record.event.pressed;
-}
-
-bool is_up(pending_key_t *k) {
- return !is_down(k);
-}
-
-bool keys_match(pending_key_t *a, pending_key_t *b) {
- return a->record.event.key.col == b->record.event.key.col
- && a->record.event.key.row == b->record.event.key.row;
-}
-
-// both the down and corresponding upstroke of a keypress.
-struct _pending_pair_t {
- pending_key_t *down;
- pending_key_t *up;
-};
-typedef struct _pending_pair_t pending_pair_t;
-
-// returns true if this keydown event has a corresponding keyup event in the
-// list of buffered keys. also fills out 'p'.
-bool is_downup_pair(pending_key_t *k, pending_pair_t *p) {
- // first, make sure this event is keydown.
- if (!is_down(k)) {
- return false;
- }
- // now find its matching keyup.
- pending_key_t *next = k->next;
- while (next != NULL) {
- if (keys_match(k, next) && is_up(next)) {
- // found it.
- if (p != NULL) {
- p->down = k;
- p->up = next;
- }
- return true;
- }
- next = next->next;
- }
- // didn't find it.
- return false;
-}
-
-// given a QK_MOD_TAP keycode, return the KC_* version of the modifier keycode.
-uint16_t get_mod_kc(uint16_t keycode) {
- uint8_t mod = mod_config((keycode >> 0x8) & 0x1F);
- switch (mod) {
- case MOD_LCTL:
- return KC_LCTL;
- case MOD_RCTL:
- return KC_RCTL;
- case MOD_LSFT:
- return KC_LSFT;
- case MOD_RSFT:
- return KC_RSFT;
- case MOD_LALT:
- return KC_LALT;
- case MOD_RALT:
- return KC_RALT;
- case MOD_LGUI:
- return KC_LGUI;
- case MOD_RGUI:
- return KC_RGUI;
- default:
- // shrug? this shouldn't happen.
- return keycode;
- }
-}
-
-bool is_mod_kc(uint16_t keycode) {
- switch (keycode) {
- case QK_MODS ... QK_MODS_MAX:
- return true;
- default:
- return false;
- }
-}
-
-void interpret_as_mod(pending_pair_t *p) {
- // see https://github.com/qmk/qmk_firmware/issues/1503
- pending_key_t *k;
- k = p->down;
- if (k != NULL) {
- k->keycode = get_mod_kc(k->keycode);
- }
- k = p->up;
- if (k != NULL) {
- k->keycode = get_mod_kc(k->keycode);
- }
-}
-
-void interpret_as_normal(pending_pair_t *p) {
- pending_key_t *k;
- k = p->down;
- if (k != NULL) {
- k->keycode = k->keycode & 0xFF;
- }
- k = p->up;
- if (k != NULL) {
- k->keycode = k->keycode & 0xFF;
- }
-}
-
-void execute_head_and_pop(kring_t *ring) {
- pending_key_t *head = kring_get(ring, 0);
- uint16_t kc = head->keycode;
- if (is_mod_kc(kc)) {
- if (is_down(head)) {
- dprintf(" %s: mod down 0x%04X\n", __func__, kc);
- set_mods(get_mods() | MOD_BIT(kc));
- } else {
- dprintf(" %s: mod up 0x%04X\n", __func__, kc);
- set_mods(get_mods() & ~MOD_BIT(kc));
- }
- } else {
- if (is_down(head)) {
- dprintf(" %s: key down 0x%04X\n", __func__, kc);
- register_code16(kc);
- } else {
- dprintf(" %s: key up 0x%04X\n", __func__, kc);
- unregister_code16(kc);
- }
- }
- kring_pop(ring);
-}
-
-// try to figure out what the next pending keypress means.
-bool parse_next(kring_t *pending) {
- pending_pair_t p;
- pending_key_t *first = kring_get(pending, 0);
- if (!is_ambiguous_kc(first->keycode)) {
- // this pending key isn't ambiguous, so execute it.
- dprintf(" %s: found unambiguous key\n", __func__);
- execute_head_and_pop(pending);
- return true;
- } else if (is_ambiguous_kc(first->keycode) && is_up(first)) {
- dprintf(" %s: interpreting keyup as mod\n", __func__);
- p.down = NULL;
- p.up = first;
- interpret_as_mod(&p);
- execute_head_and_pop(pending);
- return true;
- } else if (is_downup_pair(first, &p)) {
- // 'first' was released before any other pressed key, so treat this as
- // a rolling series of normal key taps.
- dprintf(" %s: found down-up pair, interpreting as normal key\n", __func__);
- interpret_as_normal(&p);
- execute_head_and_pop(pending);
- return true;
- } else {
- // if another key was pressed and released while 'first' was held, then we
- // should treat it like a modifier.
- pending_key_t *next = first->next;
- while (next != NULL) {
- if (is_downup_pair(next, NULL)) {
- dprintf(" %s: found subsequent downup pair, interpreting head as mod\n", __func__);
- p.down = first;
- p.up = NULL;
- interpret_as_mod(&p);
- execute_head_and_pop(pending);
- return true;
- }
- next = next->next;
- }
-
- // we can't disambiguate 'first' yet. wait for another keypress.
- dprintf(" %s: can't disambiguate (yet)\n", __func__);
- return false;
- }
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (keycode == DEBUG) {
- return true;
- }
-
- if (g_pending.count == 0 && !is_ambiguous_kc(keycode)) {
- // we have no pending keys and this key isn't ambiguous, so we should
- // just let QMK take care of it.
- dprintf("%s: handled by qmk\n", __func__);
- return true;
- } else {
- dprintf("%s: got dual-role key\n", __func__);
- // append the keypress and then try parsing all pending keypresses.
- kring_append(&g_pending, keycode, record);
- while (g_pending.count > 0) {
- dprintf("%s: looping through %d keys...\n", __func__, g_pending.count);
- if (!parse_next(&g_pending)) {
- // one of our keypresses is ambiguous and we can't proceed until
- // we get further keypresses to disambiguate it.
- dprintf("%s: %d pending keys are ambiguous\n", __func__, g_pending.count);
- break;
- }
- }
- return false;
- }
-}
diff --git a/keyboards/handwired/hexon38/readme.md b/keyboards/handwired/hexon38/readme.md
deleted file mode 100644
index c8ada8e2b2..0000000000
--- a/keyboards/handwired/hexon38/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# hexon38
-
-QMK support for the [hexon38](https://github.com/pepaslabs/hexon38).
-
-## Building
-
-```
-$ cd qmk_firmware
-$ make handwired/hexon38
-```
-
diff --git a/keyboards/handwired/hexon38/rules.mk b/keyboards/handwired/hexon38/rules.mk
deleted file mode 100644
index 2b6f17afc2..0000000000
--- a/keyboards/handwired/hexon38/rules.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-# see https://github.com/pepaslabs/hexon38
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = halfkay
-
-
-# Enabled build options:
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/ibm122m/config.h b/keyboards/handwired/ibm122m/config.h
deleted file mode 100644
index 1ef7be78de..0000000000
--- a/keyboards/handwired/ibm122m/config.h
+++ /dev/null
@@ -1,184 +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
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IBM
-#define PRODUCT IBM Model M 122 key
-#define DESCRIPTION Mapping by github.com/lukexorz
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 20
-
-/*
- * 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_COL_PINS { E6, B7, D0, D1, D2, D3, D4, D5, D6, D7, E0, E1, C0, C1, C2, C3, C4, C5, C7, F1 }
-#define MATRIX_ROW_PINS { F0, B5, B4, B3, B2, B1, B0, E7 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 15
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-#define B6_AUDIO
-#define C6_AUDIO
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
diff --git a/keyboards/handwired/ibm122m/ibm122m.c b/keyboards/handwired/ibm122m/ibm122m.c
deleted file mode 100644
index 1c52b94ec6..0000000000
--- a/keyboards/handwired/ibm122m/ibm122m.c
+++ /dev/null
@@ -1,43 +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/>.
- */
-#include "ibm122m.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
diff --git a/keyboards/handwired/ibm122m/ibm122m.h b/keyboards/handwired/ibm122m/ibm122m.h
deleted file mode 100644
index a52bf4bc44..0000000000
--- a/keyboards/handwired/ibm122m/ibm122m.h
+++ /dev/null
@@ -1,41 +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
-#include "quantum.h"
-
-// This a shortcut to help you visually see your layout.
-// The following is an example using the Planck MIT layout
-// The first section contains all of the arguments
-// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
- k09, k19, k1A, k29, k39, k3A, k49, k59, k5A, k69, k79, k7A, \
- k0A, k0B, k1B, k2A, k2B, k3B, k4A, k4B, k5B, k6A, k6B, k7B, \
- k31, k32, k34, k24, k25, k26, k27, k37, k38, k28, k2C, k2D, k2E, k3E, k3C, k3F, k3G, k3H, k2G, k2F, k2H, k2I, k20, \
- k21, k41, k42, k44, k45, k46, k47, k57, k58, k48, k4C, k4D, k4E, k5E, k5C, k6F, k1G, k5G, k4G, k4F, k4H, k4I, k40, \
- k51, k52, k62, k14, k15, k16, k17, k07, k08, k18, k1C, k1D, k1E, k0E, k6E, k0G, k1F, k1H, k1I, k10, \
- k11, k12, k73, k74, k64, k65, k66, k67, k77, k78, k68, k6C, k6D, k7E, k63, k60, k0J, k1J, k61, k6H, k6I, k7J, \
- k02, k01, k00, k70, k71, k03, k72, k0F, k7H, k7I \
-) \
-{ \
- { k00, k01, k02, k03, KC_NO, KC_NO, KC_NO, k07, k08, k09, k0A, k0B, KC_NO, KC_NO, k0E, k0F, k0G, KC_NO, KC_NO, k0J }, \
- { k10, k11, k12, KC_NO, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1J }, \
- { k20, k21, KC_NO, KC_NO, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, KC_NO }, \
- { KC_NO, k31, k32, KC_NO, k34, KC_NO, KC_NO, k37, k38, k39, k3A, k3B, k3C, KC_NO, k3E, k3F, k3G, k3H, KC_NO, KC_NO }, \
- { k40, k41, k42, KC_NO, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, KC_NO }, \
- { KC_NO, k51, k52, KC_NO, KC_NO, KC_NO, KC_NO, k57, k58, k59, k5A, k5B, k5C, KC_NO, k5E, KC_NO, k5G, KC_NO, KC_NO, KC_NO }, \
- { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, KC_NO, k6H, k6I, KC_NO }, \
- { k70, k71, k72, k73, k74, KC_NO, KC_NO, k77, k78, k79, k7A, k7B, KC_NO, KC_NO, k7E, KC_NO, KC_NO, k7H, k7I, k7J }, \
-}
diff --git a/keyboards/handwired/ibm122m/info.json b/keyboards/handwired/ibm122m/info.json
deleted file mode 100644
index b9ce9e8f83..0000000000
--- a/keyboards/handwired/ibm122m/info.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "keyboard_name": "IBM Model M 122-key",
- "url": "",
- "maintainer": "qmk",
- "bootloader": "",
- "width": 24.75,
- "height": 8,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"F13", "x":3.25, "y":0},
- {"label":"F14", "x":4.25, "y":0},
- {"label":"F15", "x":5.25, "y":0},
- {"label":"F16", "x":6.25, "y":0},
- {"label":"F17", "x":7.25, "y":0},
- {"label":"F18", "x":8.25, "y":0},
- {"label":"F19", "x":9.25, "y":0},
- {"label":"F20", "x":10.25, "y":0},
- {"label":"F21", "x":11.25, "y":0},
- {"label":"F22", "x":12.25, "y":0},
- {"label":"F23", "x":13.25, "y":0},
- {"label":"F24", "x":14.25, "y":0},
- {"label":"F1", "x":3.25, "y":1},
- {"label":"F2", "x":4.25, "y":1},
- {"label":"F3", "x":5.25, "y":1},
- {"label":"F4", "x":6.25, "y":1},
- {"label":"F5", "x":7.25, "y":1},
- {"label":"F6", "x":8.25, "y":1},
- {"label":"F7", "x":9.25, "y":1},
- {"label":"F8", "x":10.25, "y":1},
- {"label":"F9", "x":11.25, "y":1},
- {"label":"F10", "x":12.25, "y":1},
- {"label":"F11", "x":13.25, "y":1},
- {"label":"F12", "x":14.25, "y":1},
- {"label":"Esc", "x":0, "y":3},
- {"x":1, "y":3},
- {"label":"`", "x":2.25, "y":3},
- {"label":"1", "x":3.25, "y":3},
- {"label":"2", "x":4.25, "y":3},
- {"label":"3", "x":5.25, "y":3},
- {"label":"4", "x":6.25, "y":3},
- {"label":"5", "x":7.25, "y":3},
- {"label":"6", "x":8.25, "y":3},
- {"label":"7", "x":9.25, "y":3},
- {"label":"8", "x":10.25, "y":3},
- {"label":"9", "x":11.25, "y":3},
- {"label":"0", "x":12.25, "y":3},
- {"label":"-", "x":13.25, "y":3},
- {"label":"=", "x":14.25, "y":3},
- {"label":"Backspace", "x":15.25, "y":3, "w":2},
- {"label":"Insert", "x":17.5, "y":3},
- {"label":"Home", "x":18.5, "y":3},
- {"label":"Page Up", "x":19.5, "y":3},
- {"label":"Num Lock", "x":20.75, "y":3},
- {"label":"/", "x":21.75, "y":3},
- {"label":"*", "x":22.75, "y":3},
- {"label":"-", "x":23.75, "y":3},
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"label":"Tab", "x":2.25, "y":4, "w":1.5},
- {"label":"Q", "x":3.75, "y":4},
- {"label":"W", "x":4.75, "y":4},
- {"label":"E", "x":5.75, "y":4},
- {"label":"R", "x":6.75, "y":4},
- {"label":"T", "x":7.75, "y":4},
- {"label":"Y", "x":8.75, "y":4},
- {"label":"U", "x":9.75, "y":4},
- {"label":"I", "x":10.75, "y":4},
- {"label":"O", "x":11.75, "y":4},
- {"label":"P", "x":12.75, "y":4},
- {"label":"[", "x":13.75, "y":4},
- {"label":"]", "x":14.75, "y":4},
- {"label":"Enter", "x":16, "y":4, "w":1.25, "h":2},
- {"label":"Delete", "x":17.5, "y":4},
- {"label":"End", "x":18.5, "y":4},
- {"label":"Page Down", "x":19.5, "y":4},
- {"label":"7", "x":20.75, "y":4},
- {"label":"8", "x":21.75, "y":4},
- {"label":"9", "x":22.75, "y":4},
- {"label":"+", "x":23.75, "y":4},
- {"x":0, "y":5},
- {"x":1, "y":5},
- {"label":"Caps Lock", "x":2.25, "y":5, "w":1.75},
- {"label":"A", "x":4, "y":5},
- {"label":"S", "x":5, "y":5},
- {"label":"D", "x":6, "y":5},
- {"label":"F", "x":7, "y":5},
- {"label":"G", "x":8, "y":5},
- {"label":"H", "x":9, "y":5},
- {"label":"J", "x":10, "y":5},
- {"label":"K", "x":11, "y":5},
- {"label":"L", "x":12, "y":5},
- {"label":";", "x":13, "y":5},
- {"label":"'", "x":14, "y":5},
- {"label":"#", "x":15, "y":5},
- {"label":"Up", "x":18.5, "y":5},
- {"label":"4", "x":20.75, "y":5},
- {"label":"5", "x":21.75, "y":5},
- {"label":"6", "x":22.75, "y":5},
- {"x":23.75, "y":5},
- {"x":0, "y":6},
- {"x":1, "y":6},
- {"label":"Shift", "x":2.25, "y":6, "w":1.25},
- {"label":"\\", "x":3.5, "y":6},
- {"label":"Z", "x":4.5, "y":6},
- {"label":"X", "x":5.5, "y":6},
- {"label":"C", "x":6.5, "y":6},
- {"label":"V", "x":7.5, "y":6},
- {"label":"B", "x":8.5, "y":6},
- {"label":"N", "x":9.5, "y":6},
- {"label":"M", "x":10.5, "y":6},
- {"label":",", "x":11.5, "y":6},
- {"label":".", "x":12.5, "y":6},
- {"label":"/", "x":13.5, "y":6},
- {"label":"Shift", "x":14.5, "y":6, "w":2.75},
- {"label":"Left", "x":17.5, "y":6},
- {"x":18.5, "y":6},
- {"label":"Right", "x":19.5, "y":6},
- {"label":"1", "x":20.75, "y":6},
- {"label":"2", "x":21.75, "y":6},
- {"label":"3", "x":22.75, "y":6},
- {"label":"Enter", "x":23.75, "y":6, "h":2},
- {"x":0, "y":7},
- {"x":1, "y":7},
- {"label":"Ctrl", "x":2.25, "y":7, "w":1.5},
- {"label":"Alt", "x":4.75, "y":7, "w":1.5},
- {"x":6.25, "y":7, "w":7},
- {"label":"AltGr", "x":13.25, "y":7, "w":1.5},
- {"label":"Ctrl", "x":15.75, "y":7, "w":1.5},
- {"label":"Down", "x":18.5, "y":7},
- {"label":"0", "x":20.75, "y":7, "w":2},
- {"label":".", "x":22.75, "y":7}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/ibm122m/keymaps/default/config.h b/keyboards/handwired/ibm122m/keymaps/default/config.h
deleted file mode 100644
index 0453a72580..0000000000
--- a/keyboards/handwired/ibm122m/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides below
diff --git a/keyboards/handwired/ibm122m/keymaps/default/keymap.c b/keyboards/handwired/ibm122m/keymaps/default/keymap.c
deleted file mode 100644
index fc383498a1..0000000000
--- a/keyboards/handwired/ibm122m/keymaps/default/keymap.c
+++ /dev/null
@@ -1,46 +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/>.
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Original Layer
- [0] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, KC_NO, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_NO, 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_ENT, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_NO, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_BSPC,
- KC_NO, KC_NO, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_NO, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_NO, KC_NO, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT
- ),
-};
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/ibm122m/keymaps/default/readme.md b/keyboards/handwired/ibm122m/keymaps/default/readme.md
deleted file mode 100644
index aa592c9739..0000000000
--- a/keyboards/handwired/ibm122m/keymaps/default/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# The default keymap for ibm122m2
-The 10 keys to the left of the alphanumerics are unbound (other than Escape on the top-left one) as I have no idea what is supposed to go there.
diff --git a/keyboards/handwired/ibm122m/keymaps/lukaus/config.h b/keyboards/handwired/ibm122m/keymaps/lukaus/config.h
deleted file mode 100644
index bf338e196d..0000000000
--- a/keyboards/handwired/ibm122m/keymaps/lukaus/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-// place overrides here
-
diff --git a/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c b/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c
deleted file mode 100644
index 130465e8d8..0000000000
--- a/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c
+++ /dev/null
@@ -1,582 +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/>.
- */
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- PLACEHOLDER = SAFE_RANGE,
-
- DVP_ESC, // Grave escape basically i think
- DVP_AMPR,
- DVP_LBRACKET,
- DVP_LCBR,
- DVP_RCBR,
- DVP_LPRN,
- DVP_AT,
- DVP_EQUAL,
- DVP_ASTERISK,
- DVP_RPRN,
- DVP_PLUS,
- DVP_RBRACKET,
- DVP_EXLM,
- DVP_HASH,
- SHFT_DOT,
- SHFT_COMMA
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Programmer's Dvorak
- [0] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_NO, TO(2), KC_TAB, KC_SCOLON,KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_NO, KC_NO, MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, MO(4),
- LCTL(KC_F), KC_LALT, KC_LSHIFT,KC_ESC, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_LEFT, KC_BTN3, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
- LCTL(KC_C), LCTL(KC_V), KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_P0, KC_PDOT
- ),
-
- // Qwerty layer + function
- [1] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- KC_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, TO(0), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_NO, 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_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_NO, KC_NO, MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOT, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_BSPC,
- KC_NO, KC_NO, KC_LSHIFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_NO, KC_LALT,KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_P0, KC_PDOT
- ),
-
- // Orirginal Layer
- [2] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, TO(1), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_NO, TO(0), KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_NO, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOT, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_BSPC,
- KC_NO, KC_NO, KC_LSHIFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_NO, KC_LALT,KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_P0, KC_PDOT
- ),
-
- // Function Layer
- [3] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- MU_TOG, KC_NO, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- MU_MOD, KC_NO, KC_TAB, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, KC_NO, KC_NO, KC_PGUP, KC_DEL, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PPLS,
- KC_NO, KC_NO, KC_TRNS, KC_NO, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_AUDIO_MUTE, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_SCOLON, KC_QUOT, KC_BSLS, KC_UP, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC,
- KC_NO, KC_LALT, KC_LSHIFT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT,
- KC_NO, KC_NO, KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_CAPS, KC_DOWN, LSFT(KC_A), KC_PDOT
- ),
-
- // Literally just the numpad is different
- [4] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_ESC, TO(1), DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_EQUAL,DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, TO(2), KC_TAB, KC_SCOLON,KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, DVP_AT, KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_BTN1, KC_MS_U, KC_BTN2, KC_NO,
- KC_NO, KC_NO, TO(0), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_BSLS, KC_UP, KC_MS_L, KC_NO, KC_MS_R, KC_TRNS,
- LCTL(KC_F), KC_LALT, KC_LSHIFT,KC_NO, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_LEFT, KC_BTN3, KC_RIGHT, KC_GT, KC_MS_D, KC_GT, KC_PENT,
- LCTL(KC_C), LCTL(KC_V), KC_LCTRL, KC_LGUI, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, KC_BTN1, KC_PDOT
-
- ),
-
- /*
- [4] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- MU_TOG, TO(0), KC_DLR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- MU_MOD, KC_NO, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LBRC, KC_RBRC,KC_ENTER, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_PPLS,
- KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_QUOT, KC_BSLS, KC_UP, LSFT(KC_E), LSFT(KC_F), KC_NO, KC_BSPC,
- KC_NO, KC_LALT, KC_LSHIFT,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_WH_D, KC_RIGHT, LSFT(KC_B), LSFT(KC_C), LSFT(KC_D), KC_PENT,
- KC_NO, KC_LGUI, KC_LCTRL, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_DOWN, LSFT(KC_A), KC_PDOT
-
- ),*/
- /*[0] = LAYOUT(
- KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_NO,TO(1),KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1,
- KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, TO(2),KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2, KC_2,
- KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3, KC_3,
- KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_4, KC_BSPC,KC_4,KC_4,KC_4, KC_4,
- KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5, KC_5,
- KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6, KC_6,
- KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7, KC_7,
- KC_8, KC_SPC,KC_8,KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, KC_8, TO(1)
-
- ),
- [1] = LAYOUT(
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, TO(0),KC_NO,KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, TO(2),KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_BSPC,KC_Q,KC_R,KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, KC_T,
- KC_A, KC_SPC,KC_C,KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, KC_S, TO(0)
- ),
- [2] = LAYOUT(
- KC_LCTRL, KC_LALT, KC_C, KC_RALT, KC_E, KC_F, KC_G, KC_G, KC_H, KC_J, TO(0), TO(1), KC_M, KC_N, KC_QUOT, KC_DOWN, KC_UP, KC_R, KC_S, KC_ENTER,
- KC_PPLS, KC_B, KC_C, KC_D, KC_A, KC_S, KC_D, KC_F, KC_J, KC_J, KC_K, KC_NO, KC_K, KC_L, KC_SCOLON, KC_P4, KC_DEL, KC_P5, KC_P6, KC_RIGHT,
- KC_PMNS, KC_1, KC_C, KC_D, KC_1, KC_2, KC_3, KC_4, KC_7, KC_J, KC_K, KC_L, KC_8, KC_9, KC_0, KC_NLCK, KC_PGUP,KC_PSLS, KC_PAST, KC_T,
- KC_A, KC_ESC, TO(0),KC_D, KC_GRV, KC_F, KC_G, KC_5, KC_6, KC_J, KC_K, KC_L, KC_EQL, KC_N, KC_MINUS, KC_BSPC, KC_INS, KC_HOME, KC_S, KC_T,
- KC_PPLS, KC_NO, KC_TAB, KC_D, KC_Q, KC_W, KC_E, KC_R, KC_U, KC_J, KC_K, KC_L, KC_I, KC_O, KC_P, KC_P7, KC_PGDN,KC_P8, KC_P9, KC_T,
- KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_T, KC_Y, KC_J, KC_K, KC_L, KC_RBRC, KC_N, KC_LBRC, KC_P, KC_END, KC_R, KC_S, KC_T,
- KC_LEFT, KC_P1, KC_CAPS, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_M, KC_J, KC_K, KC_L, KC_COMMA, KC_DOT, KC_BSLS, KC_PENT, KC_Q, KC_P2, KC_P3, KC_T,
- KC_LGUI, KC_SPACE, KC_RCTRL, KC_LSHIFT, KC_E, KC_F, KC_G, KC_B, KC_N, KC_J, KC_K, KC_L, KC_M, KC_N, KC_SLSH, KC_P, KC_Q, KC_P0, KC_PDOT, KC_KP_ENTER
- ),*/
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- } else {
- unregister_code(KC_RSFT);
- }
- break;
- }
- return MACRO_NONE;
-};
-
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-bool left_shift_down = false;
-bool right_shift_down = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_LSHIFT:
- if (record->event.pressed)
- {
- left_shift_down = true;
- return true;
- }
- else
- {
- left_shift_down = false;
- return true;
- }
- break;
- case KC_RSHIFT:
-
- if (record->event.pressed)
- {
- right_shift_down = true;
- return true;
- }
- else
- {
- right_shift_down = false;
- return true;
- }
- break;
-
-
- case DVP_ESC:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- SEND_STRING("~");
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("$");
- return false;
- }
- break;
-
- case DVP_AMPR:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- SEND_STRING("%");
-
- }
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("&");
- return false;
- }
- break;
-
- case DVP_LBRACKET:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_7);
- unregister_code(KC_7);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("[");
- return false;
- }
- break;
-
- case DVP_LCBR:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_5);
- unregister_code(KC_5);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("{");
- return false;
- }
- break;
-
- case DVP_RCBR:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_3);
- unregister_code(KC_3);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("}");
- return false;
- }
- break;
-
-
- case DVP_LPRN:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_1);
- unregister_code(KC_1);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("(");
- return false;
- }
- break;
-//
- case DVP_AT:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_LSHIFT);
- register_code(KC_6);
- unregister_code(KC_6);
- unregister_code(KC_LSHIFT);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("@");
- return false;
- }
- break;
-
-
- case DVP_EQUAL:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_9);
- unregister_code(KC_9);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("=");
- return false;
- }
- break;
-
- case DVP_ASTERISK:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_0);
- unregister_code(KC_0);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("*");
- return false;
- }
- break;
-
- case DVP_RPRN:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_2);
- unregister_code(KC_2);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- return false;
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING(")");
- return false;
- }
- break;
-
- case DVP_PLUS:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_4);
- unregister_code(KC_4);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("+");
- }
- return false;
- break;
-
- case DVP_RBRACKET:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_6);
- unregister_code(KC_6);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("]");
- }
- return false;
- break;
-
- case DVP_EXLM:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_8);
- unregister_code(KC_8);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("!");
- }
- return false;
- break;
-
- case DVP_HASH:
- if (left_shift_down || right_shift_down)
- {
- if(record->event.pressed)
- {
- if(left_shift_down)
- unregister_code(KC_LSHIFT);
- if(right_shift_down)
- unregister_code(KC_RSHIFT);
-
- register_code(KC_GRAVE);
- unregister_code(KC_GRAVE);
-
- if(left_shift_down)
- register_code(KC_LSHIFT);
- if(right_shift_down)
- register_code(KC_RSHIFT);
- }
- }
- else
- {
- if(record->event.pressed)
- SEND_STRING("#");
- }
- return false;
- break;
- case SHFT_DOT:
- if(record->event.pressed)
- SEND_STRING(">");
- break;
-
- case SHFT_COMMA:
- if(record->event.pressed)
- SEND_STRING("<");
- break;
-
- }
-
-
-
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/ibm122m/keymaps/lukaus/readme.md b/keyboards/handwired/ibm122m/keymaps/lukaus/readme.md
deleted file mode 100644
index 5d3f6abe15..0000000000
--- a/keyboards/handwired/ibm122m/keymaps/lukaus/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# Lukaus' for ibm122m2
-Programmer's Dvorak as the default layer with a Qwerty layer that can access a function layer. Also includes the default layout, slightly modified
diff --git a/keyboards/handwired/ibm122m/readme.md b/keyboards/handwired/ibm122m/readme.md
deleted file mode 100644
index de89d7596e..0000000000
--- a/keyboards/handwired/ibm122m/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# ibm122m
-
-![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqz.jpg)
-
-This is a keymap for the IBM Model M 122 key terminal keyboard running on a Teensy 2.0++
-I wired it to weird pins on mine (mainly to accomodate speakers), so make sure to update the pin arrays.
-
-Keyboard Maintainer: [Luke Stanley](https://github.com/lukexorz)
-Hardware Supported: Teensy 2.0++
-Hardware Availability: https://www.pjrc.com/store/teensypp.html
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/ibm122m:default
-
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
diff --git a/keyboards/handwired/ibm122m/rules.mk b/keyboards/handwired/ibm122m/rules.mk
deleted file mode 100644
index ba4be67667..0000000000
--- a/keyboards/handwired/ibm122m/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-# MCU name
-MCU = at90usb1286
-BOOTLOADER = halfKay
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = yes # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/handwired/jn68m/config.h b/keyboards/handwired/jn68m/config.h
deleted file mode 100644
index f6ab4056ba..0000000000
--- a/keyboards/handwired/jn68m/config.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright 2018 Jumail Mundekkat / MxBlue
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have 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 0xC714
-#define PRODUCT_ID 0x1010
-#define DEVICE_VER 0x0001
-#define MANUFACTURER MxBlue
-#define PRODUCT JN68M
-#define DESCRIPTION Custom PCB for VA68M
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B0, B1, D5, D3, D2 }
-#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, E6, D1 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 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/jn68m/info.json b/keyboards/handwired/jn68m/info.json
deleted file mode 100644
index ce95563e96..0000000000
--- a/keyboards/handwired/jn68m/info.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "keyboard_name": "JN68M",
- "url": "",
- "maintainer": "qmk",
- "bootloader": "atmel-dfu",
- "width": 17.25,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.25, "y":1}, {"x":16.25, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":15.25, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}]
- },
- "LAYOUT_splitbs": {
- "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.25, "y":0}, {"x":16.25, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.25, "y":1}, {"x":16.25, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":15.25, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}]
- }
- }
-}
diff --git a/keyboards/handwired/jn68m/jn68m.c b/keyboards/handwired/jn68m/jn68m.c
deleted file mode 100644
index b61b17aa9b..0000000000
--- a/keyboards/handwired/jn68m/jn68m.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat / MxBlue
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "jn68m.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
diff --git a/keyboards/handwired/jn68m/jn68m.h b/keyboards/handwired/jn68m/jn68m.h
deleted file mode 100644
index d47f9f6c9c..0000000000
--- a/keyboards/handwired/jn68m/jn68m.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat / MxBlue
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef JN68M_H
-#define JN68M_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K1 , K2 , K3 , K4 , K5 , K6 , K7 , K8 , K9 , K10, K11, K12, K13, K14, K67, K68,\
- K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K69, K70,\
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, \
- K43, K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, \
- K56, K57, K58, K59, K60, K61, K63, K64, K65, K66 \
-) { \
- { K1 , K2 , K3 , K4 , K5 , K6 , K7 , K8 , K9 , K10, K11, K12, K13, K14, K67, K68 }, \
- { K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K69, K70 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42,KC_NO,KC_NO,KC_NO}, \
- { K43, K44, K45, K46, K47, K48, K49, K50, K51, K52,KC_NO,K53, K54,KC_NO,K55,KC_NO}, \
- { K56, K57, K58,KC_NO,KC_NO,K59,KC_NO,KC_NO,KC_NO,K60,KC_NO,K61, K63, K64, K65, K66} \
-}
-
-#define LAYOUT_splitbs( \
- K1 , K2 , K3 , K4 , K5 , K6 , K7 , K8 , K9 , K10, K11, K12, K13, K14, K15, K67, K68,\
- K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K69, K70,\
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, \
- K43, K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, \
- K56, K57, K58, K59, K60, K61, K63, K64, K65, K66 \
-) { \
- { K1 , K2 , K3 , K4 , K5 , K6 , K7 , K8 , K9 , K10, K11, K12, K13, K14, K67, K68 }, \
- { K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K69, K70 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K15,KC_NO,KC_NO}, \
- { K43, K44, K45, K46, K47, K48, K49, K50, K51, K52,KC_NO,K53, K54,KC_NO,K55,KC_NO}, \
- { K56, K57, K58,KC_NO,KC_NO,K59,KC_NO,KC_NO,KC_NO,K60,KC_NO,K61, K63, K64, K65, K66} \
-}
-
-#endif
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/keymaps/default/keymap.c b/keyboards/handwired/jn68m/keymaps/default/keymap.c
deleted file mode 100644
index 98eede94cb..0000000000
--- a/keyboards/handwired/jn68m/keymaps/default/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat / MxBlue
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received 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 the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- QMKBEST = SAFE_RANGE,
- QMKURL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS, KC_PGUP,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PSCR, KC_HOME,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS,
- RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMKBEST:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING("QMK is the best thing ever!");
- } else {
- // when keycode QMKBEST is released
- }
- break;
- case QMKURL:
- if (record->event.pressed) {
- // when keycode QMKURL is pressed
- SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
- } else {
- // when keycode QMKURL is released
- }
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/jn68m/readme.md b/keyboards/handwired/jn68m/readme.md
deleted file mode 100644
index f219564cae..0000000000
--- a/keyboards/handwired/jn68m/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# JN68M
-
-A custom replacement PCB for the VA68M and a birthday present for a mate.
-PCB designed by /u/Xelus22
-
-Keyboard Maintainer: [MxBlue](https://github.com/mxblu)
-Hardware Supported: ATMega32u4
-Hardware Availability: Unavailable unless you happen to be Justin ;)
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/jn68m: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/jn68m/rules.mk b/keyboards/handwired/jn68m/rules.mk
deleted file mode 100644
index 42d85ada17..0000000000
--- a/keyboards/handwired/jn68m/rules.mk
+++ /dev/null
@@ -1,81 +0,0 @@
-# MCU name
-#MCU = at90usb1286
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = atmel-dfu
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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 on B7 by default
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/handwired/jot50/config.h b/keyboards/handwired/jot50/config.h
deleted file mode 100644
index 2dfcfd2d28..0000000000
--- a/keyboards/handwired/jot50/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jotix
-#define PRODUCT Jot50
-#define DESCRIPTION A 5x12 compact ortholinear keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 12
-
-/* pro_micro pin-out */
-#define MATRIX_ROW_PINS { D7, E6, B4, B6, B2 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, D3, D2, D1, D0, D4, C6 }
-#define UNUSED_PINS
-
-/* leds */
-#define BACKLIGHT_LEVELS 3
-#define BACKLIGHT_PIN B5
-#define BACKLIGHT_BREATHING
-#define BREATHING_PERIOD 5
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 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/jot50/jot50.c b/keyboards/handwired/jot50/jot50.c
deleted file mode 100644
index a1d2258a58..0000000000
--- a/keyboards/handwired/jot50/jot50.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "jot50.h"
-
-void matrix_init_kb(void) {
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/jot50/jot50.h b/keyboards/handwired/jot50/jot50.h
deleted file mode 100644
index b7e67ae61f..0000000000
--- a/keyboards/handwired/jot50/jot50.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-
-#define LAYOUT_ortho_5x12( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
- k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
-}
diff --git a/keyboards/handwired/jot50/keymaps/default/keymap.c b/keyboards/handwired/jot50/keymaps/default/keymap.c
deleted file mode 100644
index 4ec535c31d..0000000000
--- a/keyboards/handwired/jot50/keymaps/default/keymap.c
+++ /dev/null
@@ -1,84 +0,0 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 3
-
-#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
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | bspc |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | ` | Q | W | E | R | T | Y | U | I | O | P | del |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | tab | A | S | D | F | G | H | J | K | L | ; | ' |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | lshift | Z | X | C | V | B | N | M | , | . | / | enter |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | 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_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,
-
-[_RAISE] = _FUNCT,
-
-[_ADJUST] = LAYOUT_ortho_5x12 (
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, BL_STEP, BL_BRTG, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-};
-
-uint32_t layer_state_set_user(uint32_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-void matrix_init_user(void) {
-}
-
diff --git a/keyboards/handwired/jot50/readme.md b/keyboards/handwired/jot50/readme.md
deleted file mode 100644
index 4c22b953d7..0000000000
--- a/keyboards/handwired/jot50/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Jot50
-
-A compact 50% (12x5) ortholinear keyboard kit inspired in the Preonic made by jotix.
-
-Keyboard Maintainer: [jotix](https://github.com/jotix)
-Hardware Supported: Arduino Pro Micro
-
-### Arduino Pro Micro Pinout
-
-| Rows | 0 | 1 | 2 | 3 | 4 |
-|-------------|----|----|----|----|----|
-| Arduino pin | 6 | 7 | 8 | 10 | 16 |
-| QMK pin | D7 | E6 | B4 | B6 | B2 |
-
-| Columns | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
-|-------------|----|----|----|----|----|----|-----|-----|----|----|----|----|
-| Arduino pin | A3 | A2 | A1 | A0 | 15 | 14 | TX0 | RXI | 2 | 3 | 4 | 5 |
-| QMK pin | F4 | F5 | F6 | F7 | B1 | B3 | D3 | D2 | D1 | D0 | D4 | C6 |
-
-| | Backlight |
-|-------------|-----------|
-| Arduino pin | 9 |
-| QMK pin | B5 |
-
-### Compiling the Firmware
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/jot50:default
-
-### The Defaukt Keymap
-
-![Default Keymap](https://i.imgur.com/g85V8K6.png)
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/jot50/rules.mk b/keyboards/handwired/jot50/rules.mk
deleted file mode 100644
index 36a100c963..0000000000
--- a/keyboards/handwired/jot50/rules.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # 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
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-LAYOUTS = ortho_5x12
diff --git a/keyboards/handwired/jotanck/config.h b/keyboards/handwired/jotanck/config.h
deleted file mode 100644
index 38b77586ec..0000000000
--- a/keyboards/handwired/jotanck/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jotix
-#define PRODUCT Jotanck
-#define DESCRIPTION A Jotantastic compact ortholinear keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/* pro_micro pin-out */
-#define MATRIX_ROW_PINS { D7, E6, B6, B2 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, D3, D2, D1, D0, D4, C6 }
-#define UNUSED_PINS
-
-/* leds */
-#define QMK_LED B4
-#define BACKLIGHT_LEVELS 3
-#define BACKLIGHT_PIN B5
-#define BACKLIGHT_BREATHING
-#define BREATHING_PERIOD 5
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 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/jotanck/jotanck.c b/keyboards/handwired/jotanck/jotanck.c
deleted file mode 100644
index 7744570b23..0000000000
--- a/keyboards/handwired/jotanck/jotanck.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "jotanck.h"
-
-void matrix_init_kb(void) {
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/jotanck/jotanck.h b/keyboards/handwired/jotanck/jotanck.h
deleted file mode 100644
index e253940ddc..0000000000
--- a/keyboards/handwired/jotanck/jotanck.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-
-#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 } \
-}
diff --git a/keyboards/handwired/jotanck/keymaps/default/keymap.c b/keyboards/handwired/jotanck/keymaps/default/keymap.c
deleted file mode 100644
index 2e9f4a39f2..0000000000
--- a/keyboards/handwired/jotanck/keymaps/default/keymap.c
+++ /dev/null
@@ -1,92 +0,0 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 3
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | esc | Q | W | E | R | T | Y | U | I | O | P | bksp |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | tab | A | S | D | F | G | H | J | K | L | ; | ' |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | lshift | Z | X | C | V | B | N | M | , | . | / | enter |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | lctrl | lgui | lalt | ralt | lower | space | space | raise | left | down | up | right |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- */
-[_QWERTY] = LAYOUT_ortho_4x12 (
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_RALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | | | | | | | | | | | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- */
-[_LOWER] = LAYOUT_ortho_4x12 (
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Raise
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | del |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- * | | | | | | | | | home | home | pgdn | end |
- * +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
- */
-[_RAISE] = LAYOUT_ortho_4x12 (
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
-),
-
-/* Adjust */
-[_ADJUST] = LAYOUT_ortho_4x12 (
- _______, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, BL_STEP, BL_BRTG, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-};
-
-uint32_t layer_state_set_user(uint32_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-void matrix_init_user(void) {
-}
-
diff --git a/keyboards/handwired/jotanck/readme.md b/keyboards/handwired/jotanck/readme.md
deleted file mode 100644
index 28bbab86bd..0000000000
--- a/keyboards/handwired/jotanck/readme.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Jotanck
-
-![Jotanck](https://i.imgur.com/bBfO4L2.jpg)
-
-A compact 40% (12x4) ortholinear keyboard kit inspired in the Planck made by jotix.
-
-Keyboard Maintainer: [jotix](https://github.com/jotix)
-Hardware Supported: Arduino Pro Micro
-Hardware Availability: [Mercado Libre](https://articulo.mercadolibre.com.ar/MLA-771696548-teclado-mecanico-handwired-black-switchs-pbt-keycaps-_JM)
-
-### Arduino Pro Micro Pinout
-
-| Rows | 0 | 1 | 2 | 3 |
-|-------------|----|----|----|----|
-| Arduino pin | 6 | 7 | 10 | 16 |
-| QMK pin | D7 | E6 | B6 | B2 |
-
-| Columns | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
-|-------------|----|----|----|----|----|----|-----|-----|----|----|----|----|
-| Arduino pin | A3 | A2 | A1 | A0 | 15 | 14 | TX0 | RXI | 2 | 3 | 4 | 5 |
-| QMK pin | F4 | F5 | F6 | F7 | B1 | B3 | D3 | D2 | D1 | D0 | D4 | C6 |
-
-| | QMK led | Backlight |
-|-------------|-----------|-----------|
-| Arduino pin | 8 | 9 |
-| QMK pin | B4 | B5 |
-
-### Compiling the Firmware
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/jotanck:default
-
-### The Defaukt Keymap
-
-![Default Keymap](https://i.imgur.com/xh7Dmd7.png)
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/jotanck/rules.mk b/keyboards/handwired/jotanck/rules.mk
deleted file mode 100644
index 6b39b7cc1a..0000000000
--- a/keyboards/handwired/jotanck/rules.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # 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
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-LAYOUTS = ortho_4x12
diff --git a/keyboards/handwired/jotpad16/config.h b/keyboards/handwired/jotpad16/config.h
deleted file mode 100644
index e113597dc2..0000000000
--- a/keyboards/handwired/jotpad16/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Jotix
-#define PRODUCT JotPad16
-#define DESCRIPTION A Jotantastic compact NumPad
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 4
-
-/* pro_micro pin-out */
-#define MATRIX_ROW_PINS { B6, B2, D2, D3 }
-#define MATRIX_COL_PINS { B5, B4, B3, B1 }
-#define UNUSED_PINS
-
-/* leds */
-#define QMK_LED E6
-#define BACKLIGHT_LEVELS 3
-#define BACKLIGHT_PIN D7
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 0
-
-/* 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/jotpad16/jotpad16.c b/keyboards/handwired/jotpad16/jotpad16.c
deleted file mode 100644
index 512234b917..0000000000
--- a/keyboards/handwired/jotpad16/jotpad16.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "jotpad16.h"
-
-void matrix_init_kb(void) {
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/jotpad16/jotpad16.h b/keyboards/handwired/jotpad16/jotpad16.h
deleted file mode 100644
index 012c9290dd..0000000000
--- a/keyboards/handwired/jotpad16/jotpad16.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-// Used to create a keymap using only KC_ prefixed keys
-#define LAYOUT_ortho_4x4( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, k23, \
- k30, k31, k32, k33 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, k33 } \
-}
-
diff --git a/keyboards/handwired/jotpad16/keymaps/default/keymap.c b/keyboards/handwired/jotpad16/keymaps/default/keymap.c
deleted file mode 100644
index fb5dc71e23..0000000000
--- a/keyboards/handwired/jotpad16/keymaps/default/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-#define _NUMPAD 0
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Numpad
- * +-------+-------+-------+-------+
- * | 7 | 8 | 9 | - |
- * +-------+-------+-------+-------+
- * | 4 | 5 | 6 | + |
- * +-------+-------+-------+-------+
- * | 1 | 2 | 3 | enter |
- * +-------+-------+-------+-------+
- * | 0 | . | / | * |
- * +-------+-------+-------+-------+
- */
-[_NUMPAD] = LAYOUT_ortho_4x4(
- KC_P7, KC_P8, KC_P9, KC_MINS,
- KC_P4, KC_P5, KC_P6, KC_PLUS,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_PDOT,KC_PSLS,KC_ASTR
-),
-};
diff --git a/keyboards/handwired/jotpad16/readme.md b/keyboards/handwired/jotpad16/readme.md
deleted file mode 100644
index 3d971a5154..0000000000
--- a/keyboards/handwired/jotpad16/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# JotPad16
-
-![JotPad16](https://i.imgur.com/RwmqWuS.jpg)
-
-A ortholinear keypad (4x4) made by jotix.
-
-Keyboard Maintainer: [jotix](https://github.com/jotix)
-Hardware Supported: Arduino Pro Micro
-
-### Arduino Pro Micro Pinout
-
-| rows | 0 | 1 | 2 | 3 |
-|-------------|----|----|-----|-----|
-| arduino pin | 10 | 16 | RXI | TX0 |
-| qmk pin | B6 | B2 | D2 | D3 |
-
-| columns | 0 | 1 | 2 | 3 |
-|-------------|----|----|----|----|
-| arduino pin | 9 | 8 | 14 | 15 |
-| qmk pin | B5 | B4 | B3 | C3 |
-
-| | QMK led | Backlight |
-|-------------|-----------|-----------|
-| Arduino pin | 7 | 6 |
-| qmk pin | E6 | D7 |
-
-### Compiling the Firmware
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/jotpad16:default
-
-### The Default Keymap
-
-![Default Keymap](https://i.imgur.com/VJZcFRN.jpg)
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/jotpad16/rules.mk b/keyboards/handwired/jotpad16/rules.mk
deleted file mode 100644
index 8105f800cb..0000000000
--- a/keyboards/handwired/jotpad16/rules.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # 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
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-LAYOUTS = ortho_4x4
diff --git a/keyboards/handwired/kbod/config.h b/keyboards/handwired/kbod/config.h
deleted file mode 100644
index 5f02c71721..0000000000
--- a/keyboards/handwired/kbod/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER fudanchii
-#define PRODUCT kbod
-#define DESCRIPTION Keyboard of Disapproval
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#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 { C6, D7, E6, B4, B5, B6, B7, D6 }
-#define MATRIX_COL_PINS { D0, D1, F0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#undef TAPPING_TOGGLE
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/handwired/kbod/info.json b/keyboards/handwired/kbod/info.json
deleted file mode 100644
index 02586164b2..0000000000
--- a/keyboards/handwired/kbod/info.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "keyboard_name": "kbod",
- "url": "",
- "maintainer": "qmk",
- "width": 15,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"`", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2},
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {"label":"R", "x":4.5, "y":1},
- {"label":"T", "x":5.5, "y":1},
- {"label":"Y", "x":6.5, "y":1},
- {"label":"U", "x":7.5, "y":1},
- {"label":"I", "x":8.5, "y":1},
- {"label":"O", "x":9.5, "y":1},
- {"label":"P", "x":10.5, "y":1},
- {"label":"[", "x":11.5, "y":1},
- {"label":"]", "x":12.5, "y":1},
- {"label":"\\", "x":13.5, "y":1, "w":1.5},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
- {"label":"H", "x":6.75, "y":2},
- {"label":"J", "x":7.75, "y":2},
- {"label":"K", "x":8.75, "y":2},
- {"label":"L", "x":9.75, "y":2},
- {"label":";", "x":10.75, "y":2},
- {"label":"'", "x":11.75, "y":2},
- {"label":"Enter", "x":12.75, "y":2, "w":2.25},
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.25, "y":3},
- {"label":"C", "x":4.25, "y":3},
- {"label":"V", "x":5.25, "y":3},
- {"label":"B", "x":6.25, "y":3},
- {"label":"N", "x":7.25, "y":3},
- {"label":"M", "x":8.25, "y":3},
- {"label":",", "x":9.25, "y":3},
- {"label":".", "x":10.25, "y":3},
- {"label":"/", "x":11.25, "y":3},
- {"label":"Shift", "x":12.25, "y":3, "w":2.75},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"GUI", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"GUI", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/kbod/kbod.c b/keyboards/handwired/kbod/kbod.c
deleted file mode 100644
index 9a12cae0d2..0000000000
--- a/keyboards/handwired/kbod/kbod.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "kbod.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
diff --git a/keyboards/handwired/kbod/kbod.h b/keyboards/handwired/kbod/kbod.h
deleted file mode 100644
index 5d9dbd05b3..0000000000
--- a/keyboards/handwired/kbod/kbod.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef KBOD_H
-#define KBOD_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, \
- k40, k41, k42, k43, k44, k45, k46, k47 \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07 }, { k08, k09, k0A, k0B, k0C, k0D, KC_NO, KC_NO }, \
- { k10, k11, k12, k13, k14, k15, k16, k17 }, { k18, k19, k1A, k1B, k1C, k1D, KC_NO, k3B }, \
- { k20, k21, k22, k23, k24, k25, k26, k27 }, { k28, k29, k2A, k2B, k2C, k38, k39, k3A }, \
- { k30, k31, k32, k33, k34, k35, k36, k37 }, \
- { k40, k41, k42, k43, k44, k45, k46, k47 }, \
-}
-
-#endif
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
deleted file mode 100644
index 49083820ad..0000000000
--- a/keyboards/handwired/kbod/keymaps/default/keymap.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define MODS_PRESSED(btn) (get_mods() & (MOD_BIT(KC_L##btn)|MOD_BIT(KC_R##btn)))
-
-enum custom_keycodes {
- SFT_ESC = SAFE_RANGE,
- ALT_F4
-};
-
-#define SET_WHETHER(mask, btn1, btn2) \
-if (record->event.pressed) { \
- if (mask) { \
- add_key(btn2); \
- send_keyboard_report(); \
- } else { \
- add_key(btn1); \
- send_keyboard_report(); \
- } \
-} else { \
- if (mask) { \
- del_key(btn2); \
- send_keyboard_report(); \
- } else { \
- del_key(btn1); \
- send_keyboard_report(); \
- } \
-} \
-
-
-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 \
- ),
- 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 \
- ),
- 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 \
- ),
- 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 \
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case SFT_ESC:
- SET_WHETHER(MODS_PRESSED(SHIFT), KC_ESC, KC_GRAVE);
-
- return false;
-
- case ALT_F4:
- SET_WHETHER(MODS_PRESSED(ALT), KC_4, KC_F4);
-
- return false;
-
- default:
- return true;
- }
-}
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- return MACRO_NONE;
-};
-
-void led_set_user(uint8_t usb_led) {
- if (usb_led & _BV(USB_LED_CAPS_LOCK)) {
- PORTB |= _BV(PB0);
- } else {
- PORTB &= ~_BV(PB0);
- }
-}
-
-void matrix_init_user(void) {
- DDRB |= _BV(PB0);
- DDRC |= _BV(PC7);
-}
-
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
- if (layer) {
- PORTC |= _BV(PC7);
- } else {
- PORTC &= ~_BV(PC7);
- }
-}
diff --git a/keyboards/handwired/kbod/keymaps/default/readme.md b/keyboards/handwired/kbod/keymaps/default/readme.md
deleted file mode 100644
index 35c22ec007..0000000000
--- a/keyboards/handwired/kbod/keymaps/default/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The default keymap for kbod
-
-This is the default keymap for kbod,
-
-it consists of a base layer with QWERTY layout, a momentary cursor-layer, and mouse-keys and multimedia layers. \ No newline at end of file
diff --git a/keyboards/handwired/kbod/keymaps/default/rules.mk b/keyboards/handwired/kbod/keymaps/default/rules.mk
deleted file mode 100644
index 5b9ff0bfdc..0000000000
--- a/keyboards/handwired/kbod/keymaps/default/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/kbod/readme.md b/keyboards/handwired/kbod/readme.md
deleted file mode 100644
index 470ccce0e3..0000000000
--- a/keyboards/handwired/kbod/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# KBOD
-
-![KBOD](https://f4.fudanchii.net/shx/2017/02/IMG_20170212_224547.jpg)
-
-KBOD is a 60% Keyboard kit, hand-wired, with Arduino Micro as its controller. It utilizes an 8x8 matrix and has layout similar to GH60. [More info](https://github.com/fudanchii/keyboard_of_disapproval)
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: Arduino Micro
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/kbod:default
-
-Flashing your firmware may be done with avrdude. The command should be something along this line:
-
- avrdude -p m32u4 -c avr109 -P <COM PORT> -C <avrdude conf file> -e -u flash:w:handwired_kbod_default.hex
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/kbod/rules.mk b/keyboards/handwired/kbod/rules.mk
deleted file mode 100644
index b97cacd5c3..0000000000
--- a/keyboards/handwired/kbod/rules.mk
+++ /dev/null
@@ -1,68 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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 on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
diff --git a/keyboards/handwired/lovelive9/config.h b/keyboards/handwired/lovelive9/config.h
deleted file mode 100644
index c11a25df60..0000000000
--- a/keyboards/handwired/lovelive9/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-#pragma once
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0007
-#define DEVICE_VER 0x0001
-#define MANUFACTURER numazu Keyboards
-#define PRODUCT lovelive9
-#define DESCRIPTION lovelive sunshine Keyboards 9Key
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 9
-
-/* default pin-out */
-#define MATRIX_ROW_PINS { NO_PIN }
-#define MATRIX_COL_PINS { B4, B6, B2, D7, B1, F7, F6, F5, F4 }
-
-#define UNUSED_PINS
-
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D3
-
-#define RGBLED_NUM 9 // Number of LEDs
-
-#define RGBLIGHT_ANIMATIONS
-#define BACKLIGHT_LEVELS 5
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 4
-#define BREATHING_PERIOD 2
-#define RGBLIGHT_LIMIT_VAL 255
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-#define USB_MAX_POWER_CONSUMPTION 400
-
-#define TAPPING_TERM 200
diff --git a/keyboards/handwired/lovelive9/info.json b/keyboards/handwired/lovelive9/info.json
deleted file mode 100644
index 4f81d321d9..0000000000
--- a/keyboards/handwired/lovelive9/info.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "keyboard_name": "lovelive9",
- "url": "https://github.com/ginjake",
- "maintainer": "ginjake",
- "width": 9,
- "height": 1,
- "layouts": {
- "LAYOUT": {
- "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}]
- }
- }
-}
diff --git a/keyboards/handwired/lovelive9/keymaps/default/keymap.c b/keyboards/handwired/lovelive9/keymaps/default/keymap.c
deleted file mode 100644
index 605f722f44..0000000000
--- a/keyboards/handwired/lovelive9/keymaps/default/keymap.c
+++ /dev/null
@@ -1,338 +0,0 @@
-#include QMK_KEYBOARD_H
-
-//#include "v1.h"
-
-//Following line allows macro to read current RGB settings
-
-rgblight_config_t RGB_current_config;
-
-#define KC_KANJI KC_GRV
-
-
-enum Layer
-{
- _QWERTY,
- _DIA,
- _YOU,
- _CHIKA,
- _ZURA,
- _RUBY,
- _YOHANE,
- _RIKO,
- _MARI,
- _KANAN,
- _RUBY_SUB1,
- _RUBY_SUB2,
- _RUBY_SUB3,
- _SCHOOL_IDOL_FESTIVAL
-};
-
-#define SEND_DIA 100
-#define SEND_YOU 101
-#define SEND_CHIKA 102
-#define SEND_ZURA 103
-#define SEND_RUBY 104
-#define SEND_YOHANE 105
-#define SEND_RIKO 106
-#define SEND_MARI 107
-#define SEND_KANAN 108
-
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- DIA,
- YOU,
- CHIKA,
- ZURA,
- RUBY,
- RUBY_SUB1,
- RUBY_SUB2,
- RUBY_SUB3,
- YOHANE,
- RIKO,
- MARI,
- KANAN,
- TO_SCHOOL_IDOL_FESTIVAL,
- RETURN_SCHOOL_IDOL_FESTIVAL
-};
-
-
-int long_tap_timer;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT(
- DIA, YOU, CHIKA, ZURA, RUBY, YOHANE, RIKO, MARI, KANAN
- ),
- [_DIA] = LAYOUT(
- DIA, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_LSFT
- ),
-
- [_YOU] = LAYOUT(
- KC_H, YOU, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_LSFT
- ),
-
- [_CHIKA] = LAYOUT(
- KC_O, KC_P, CHIKA, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_LSFT
- ),
-
- [_ZURA] = LAYOUT(
- KC_V, KC_W, KC_X, ZURA, KC_Y, KC_Z, KC_M, KC_N, KC_LSFT
- ),
-
- //推しをたくさん押せるようにルビーちゃんには複数のレイヤー設定
- [_RUBY] = LAYOUT(
- KC_CIRC, KC_LPRN, KC_QUOT, RUBY_SUB1, RUBY, RUBY_SUB2, KC_LCBR, KC_EXLM, KC_LSFT
- ),
- [_RUBY_SUB1] = LAYOUT(
- KC_RCBR, KC_AT, KC_PIPE, RUBY_SUB1, RUBY, RUBY_SUB2, KC_HASH, KC_EQL, KC_LSFT
- ),
- [_RUBY_SUB2] = LAYOUT(
- KC_TILD, KC_DLR, KC_LBRC, RUBY_SUB1, RUBY, RUBY_SUB2, KC_PERC, KC_RBRC, KC_LSFT
- ),
- [_RUBY_SUB3] = LAYOUT(
- TO_SCHOOL_IDOL_FESTIVAL, KC_DLR, KC_LBRC, RUBY_SUB1, RUBY, RUBY_SUB2, KC_PERC, KC_RBRC, RETURN_SCHOOL_IDOL_FESTIVAL
- ),
-
- [_YOHANE] = LAYOUT(
- KC_0, KC_1, KC_2, KC_3, KC_4, YOHANE, KC_5, KC_6, KC_LSFT
- ),
-
- [_RIKO] = LAYOUT(
- KC_7, KC_8, KC_9, KC_PLUS, KC_MINS, KC_ASTR, RIKO, KC_SLSH, KC_LSFT
- ),
-
- [_MARI] = LAYOUT(
- KC_TAB, KC_DEL, KC_COMM, KC_SPC, KC_ENT, KC_BSPC, KC_DOT, MARI, KC_LSFT
- ),
-
- [_KANAN] = LAYOUT(
- KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_ENT, KC_BSPC, KC_AMPR, KC_KANJI, KANAN
- ),
- [_SCHOOL_IDOL_FESTIVAL] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9
- ),
-};
-
-void check_tap_and_send_key(int MEMBER) {
- if (long_tap_timer < 500) {
- switch (MEMBER) {
- case SEND_DIA:
- SEND_STRING("KUROSAWA DIA");
- break;
- case SEND_YOU:
- SEND_STRING("WATANABE YOU");
- break;
- case SEND_CHIKA:
- SEND_STRING("TAKAMI CHIKA");
- break;
- case SEND_ZURA:
- SEND_STRING("KUNIKIDA HANAMARU");
- break;
- case SEND_RUBY:
- SEND_STRING("KUROSAWA RUBY");
- break;
- case SEND_YOHANE:
- SEND_STRING("TSUSHIMA YOSHIKO");
- break;
- case SEND_RIKO:
- SEND_STRING("SAKURAUCHI RIKO");
- break;
- case SEND_MARI:
- SEND_STRING("OHARA MARI");
- break;
- case SEND_KANAN:
- SEND_STRING("MATSUURA KANAN");
- break;
- }
- }
- long_tap_timer = 0;
-}
-
-int aqours_color_h[] = { 26, 340, 150, 0, 199, 220, 53, 265, 322};
-int aqours_color_s[] = {255, 165, 255, 255, 255, 350, 255, 255, 255};
-int aqours_color_v[] = {255, 255, 255, 255, 255, 255, 200, 255, 255};
-
-void LED_default_set(void) {
-
- sethsv(aqours_color_h[2], aqours_color_s[2], aqours_color_v[2], (LED_TYPE *)&led[0]);
- sethsv(aqours_color_h[7], aqours_color_s[7], aqours_color_v[7], (LED_TYPE *)&led[1]);
- sethsv(aqours_color_h[1], aqours_color_s[1], aqours_color_v[1], (LED_TYPE *)&led[2]);
- sethsv(aqours_color_h[5], aqours_color_s[5], aqours_color_v[5], (LED_TYPE *)&led[3]);
- sethsv(aqours_color_h[8], aqours_color_s[8], aqours_color_v[8], (LED_TYPE *)&led[4]);
- sethsv(aqours_color_h[6], aqours_color_s[6], aqours_color_v[6], (LED_TYPE *)&led[5]);
- sethsv(aqours_color_h[0], aqours_color_s[0], aqours_color_v[0], (LED_TYPE *)&led[6]);
- sethsv(aqours_color_h[4], aqours_color_s[4], aqours_color_v[4], (LED_TYPE *)&led[7]);
- sethsv(aqours_color_h[3], aqours_color_s[3], aqours_color_v[3], (LED_TYPE *)&led[8]);
-
- rgblight_set();
-
-}
-
-
-void LED_layer_set(int aqours_index) {
- for (int c = 0; c < 9; c++) {
- sethsv(aqours_color_h[aqours_index], aqours_color_s[aqours_index], aqours_color_v[aqours_index], (LED_TYPE *)&led[c]);
- }
- rgblight_set();
-}
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- switch (keycode) {
-
- case DIA:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_DIA);
- LED_layer_set(3);
- } else {
- check_tap_and_send_key(SEND_DIA);
- layer_off(_DIA);
- LED_default_set();
- }
- break;
-
- case YOU:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_YOU);
- LED_layer_set(4);
- } else {
- check_tap_and_send_key(SEND_YOU);
- layer_off(_YOU);
- LED_default_set();
- }
- break;
-
- case CHIKA:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_CHIKA);
- LED_layer_set(0);
- } else {
- check_tap_and_send_key(SEND_CHIKA);
- layer_off(_CHIKA);
- LED_default_set();
- }
- break;
-
- case ZURA:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_ZURA);
- LED_layer_set(6);
- } else {
- check_tap_and_send_key(SEND_ZURA);
- layer_off(_ZURA);
- LED_default_set();
- }
- break;
-
- case RUBY:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_RUBY);
- LED_layer_set(8);
- } else {
- check_tap_and_send_key(SEND_RUBY);
- layer_off(_RUBY);
- LED_default_set();
- }
- break;
- case RUBY_SUB1:
- if (record->event.pressed) {
- layer_on(_RUBY_SUB1);
- if (IS_LAYER_ON(_RUBY_SUB1) && IS_LAYER_ON(_RUBY_SUB2)) {
- layer_on(_RUBY_SUB3);
- } else {
- layer_off(_RUBY_SUB3);
- }
- } else {
- layer_off(_RUBY_SUB1);
- }
- break;
- case RUBY_SUB2:
- if (record->event.pressed) {
- layer_on(_RUBY_SUB2);
- if (IS_LAYER_ON(_RUBY_SUB1) && IS_LAYER_ON(_RUBY_SUB2)) {
- layer_on(_RUBY_SUB3);
- } else {
- layer_off(_RUBY_SUB3);
- }
- } else {
- layer_off(_RUBY_SUB2);
- }
- break;
-
- case YOHANE:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_YOHANE);
- LED_layer_set(5);
- } else {
- check_tap_and_send_key(SEND_YOHANE);
- layer_off(_YOHANE);
- LED_default_set();
- }
- break;
-
- case RIKO:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_RIKO);
- LED_layer_set(1);
- } else {
- check_tap_and_send_key(SEND_RIKO);
- layer_off(_RIKO);
- LED_default_set();
- }
- break;
-
- case MARI:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_MARI);
- LED_layer_set(7);
- } else {
- check_tap_and_send_key(SEND_MARI);
- layer_off(_MARI);
- LED_default_set();
- }
- break;
-
- case KANAN:
- if (record->event.pressed) {
- long_tap_timer = 1;
- layer_on(_KANAN);
- LED_layer_set(2);
- } else {
- check_tap_and_send_key(SEND_KANAN);
- layer_off(_KANAN);
- LED_default_set();
- }
- break;
-
- case TO_SCHOOL_IDOL_FESTIVAL:
- if (record->event.pressed) {
- LED_default_set();
- layer_on(_SCHOOL_IDOL_FESTIVAL);
- }
- break;
- case RETURN_SCHOOL_IDOL_FESTIVAL:
- if (record->event.pressed) {
- layer_off(_SCHOOL_IDOL_FESTIVAL);
- }
- break;
- }
-
- return true;
-}
-
-
-void matrix_scan_user(void) {
-
- if (long_tap_timer > 0) {
- long_tap_timer++;
- }
-}
diff --git a/keyboards/handwired/lovelive9/lovelive9.c b/keyboards/handwired/lovelive9/lovelive9.c
deleted file mode 100644
index 1ec8ae0527..0000000000
--- a/keyboards/handwired/lovelive9/lovelive9.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "lovelive9.h"
-
-
-
-void matrix_init_kb(void) {
- matrix_init_user();
-}
diff --git a/keyboards/handwired/lovelive9/lovelive9.h b/keyboards/handwired/lovelive9/lovelive9.h
deleted file mode 100644
index f6fb1f94cc..0000000000
--- a/keyboards/handwired/lovelive9/lovelive9.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08 \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08 } \
-}
diff --git a/keyboards/handwired/lovelive9/readme.md b/keyboards/handwired/lovelive9/readme.md
deleted file mode 100644
index 2046472773..0000000000
--- a/keyboards/handwired/lovelive9/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# lovelive9
-
-lovelive9 is 9keys keyboard.
-
-![lovelive9](https://user-images.githubusercontent.com/16838187/53496102-a6fc0700-3ae4-11e9-85e4-1e6cd981b410.jpg)
-
-Keyboard Maintainer: [ginjake](https://github.com/ginjake) [Twitter:@sirojake](https://twitter.com/sirojake)
-Hardware Supported: Pro Micro, handwired (LED used [CherryMXLEDBitBoard](https://github.com/swanmatch/MxLEDBitPCB) with handwired)
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/lovelive9: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/#/n
diff --git a/keyboards/handwired/lovelive9/rules.mk b/keyboards/handwired/lovelive9/rules.mk
deleted file mode 100644
index 99a531a638..0000000000
--- a/keyboards/handwired/lovelive9/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-BOOTLOADER = caterina
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-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/maartenwut/config.h b/keyboards/handwired/maartenwut/config.h
deleted file mode 100755
index b939fa1f62..0000000000
--- a/keyboards/handwired/maartenwut/config.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x050D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Maartenwut
-#define PRODUCT Ortho
-#define DESCRIPTION Handwired ortholinear keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D4, D0, D1, D2, D3 }
-#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B7, D6, F0, F1, F4, F5, F6, F7 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-#define QMK_ESC_OUTPUT C6 // usually COL
-#define QMK_ESC_INPUT D0 // usually ROW
-
-#endif \ No newline at end of file
diff --git a/keyboards/handwired/maartenwut/info.json b/keyboards/handwired/maartenwut/info.json
deleted file mode 100644
index 98720d24f1..0000000000
--- a/keyboards/handwired/maartenwut/info.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "keyboard_name": "Maartenwut Ortho",
- "url": "",
- "maintainer": "maartenwut",
- "width": 14,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"`", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0},
- {"label":"Esc", "x":0, "y":1},
- {"label":"Q", "x":1, "y":1},
- {"label":"W", "x":2, "y":1},
- {"label":"E", "x":3, "y":1},
- {"label":"R", "x":4, "y":1},
- {"label":"T", "x":5, "y":1},
- {"label":"Y", "x":6, "y":1},
- {"label":"U", "x":7, "y":1},
- {"label":"I", "x":8, "y":1},
- {"label":"O", "x":9, "y":1},
- {"label":"P", "x":10, "y":1},
- {"label":"[", "x":11, "y":1},
- {"label":"]", "x":12, "y":1},
- {"label":"\\", "x":13, "y":1},
- {"label":"Tab", "x":0, "y":2},
- {"label":"A", "x":1, "y":2},
- {"label":"S", "x":2, "y":2},
- {"label":"D", "x":3, "y":2},
- {"label":"F", "x":4, "y":2},
- {"label":"G", "x":5, "y":2},
- {"label":"H", "x":6, "y":2},
- {"label":"J", "x":7, "y":2},
- {"label":"K", "x":8, "y":2},
- {"label":"L", "x":9, "y":2},
- {"label":";", "x":10, "y":2},
- {"label":"'", "x":11, "y":2},
- {"label":"Delete", "x":12, "y":2},
- {"label":"Enter", "x":13, "y":2},
- {"label":"Shift", "x":0, "y":3},
- {"label":"Z", "x":1, "y":3},
- {"label":"X", "x":2, "y":3},
- {"label":"C", "x":3, "y":3},
- {"label":"V", "x":4, "y":3},
- {"label":"B", "x":5, "y":3},
- {"label":"N", "x":6, "y":3},
- {"label":"M", "x":7, "y":3},
- {"label":",", "x":8, "y":3},
- {"label":".", "x":9, "y":3},
- {"label":"/", "x":10, "y":3},
- {"label":"Shift", "x":11, "y":3},
- {"label":"Up", "x":12, "y":3},
- {"label":"Print Screen", "x":13, "y":3},
- {"label":"Ctrl", "x":0, "y":4},
- {"label":"GUI", "x":1, "y":4},
- {"label":"Alt", "x":2, "y":4},
- {"label":"Fn", "x":3, "y":4},
- {"label":"Fn3 / Space", "x":4, "y":4, "w":2.25},
- {"label":"Space", "x":6.25, "y":4, "w":2.75},
- {"label":"Fn2", "x":9, "y":4},
- {"label":"Alt", "x":10, "y":4},
- {"label":"Left", "x":11, "y":4},
- {"label":"Down", "x":12, "y":4},
- {"label":"Right", "x":13, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/maartenwut/keymaps/default/keymap.c b/keyboards/handwired/maartenwut/keymaps/default/keymap.c
deleted file mode 100755
index 54276d4b20..0000000000
--- a/keyboards/handwired/maartenwut/keymaps/default/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _MA 0
-#define _NU 1
-#define _FL 2
-#define _GA 3
-#define _AR 4
-
-#define LSHIFT OSM(MOD_LSFT)
-#define SPACE LT(_AR, KC_SPC)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_MA] = 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_ESC, KC_Q, KC_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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, KC_ENT,
- LSHIFT, 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_PSCR,
- KC_LCTL, KC_LGUI, KC_LALT, MO(_NU), SPACE, KC_SPC, MO(_FL), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
-[_NU] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_0, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-[_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_MPLY,
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, TG(_GA), _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-[_GA] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, _______),
-[_AR] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
diff --git a/keyboards/handwired/maartenwut/maartenwut.c b/keyboards/handwired/maartenwut/maartenwut.c
deleted file mode 100755
index 6a7c5cee62..0000000000
--- a/keyboards/handwired/maartenwut/maartenwut.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "maartenwut.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
- matrix_scan_user();
-}; \ No newline at end of file
diff --git a/keyboards/handwired/maartenwut/maartenwut.h b/keyboards/handwired/maartenwut/maartenwut.h
deleted file mode 100755
index cc237f3c00..0000000000
--- a/keyboards/handwired/maartenwut/maartenwut.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef MAARTENWUT_H
-#define MAARTENWUT_H
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
- k40, k41, k42, k43, k45, k47, k49, k4a, k4b, k4c, k4d \
-) \
-{ \
- {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
- {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
- {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
- {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
- {k40, k41, k42, k43, XXX, k45, XXX, k47, XXX, k49, k4a, k4b, k4c, k4d} \
-}
-
-#endif \ No newline at end of file
diff --git a/keyboards/handwired/maartenwut/readme.md b/keyboards/handwired/maartenwut/readme.md
deleted file mode 100644
index 0ae7382711..0000000000
--- a/keyboards/handwired/maartenwut/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# maartenwut handwired
-
-Custom handwired keyboard for maartenwut.
-
-Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut)
-Hardware Supported: Custom handwired
-Hardware Availability:
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/maartenwut: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/maartenwut/rules.mk b/keyboards/handwired/maartenwut/rules.mk
deleted file mode 100755
index 7ed63c65ec..0000000000
--- a/keyboards/handwired/maartenwut/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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 on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
diff --git a/keyboards/handwired/magicforce61/config.h b/keyboards/handwired/magicforce61/config.h
deleted file mode 100644
index 3dc74f83e7..0000000000
--- a/keyboards/handwired/magicforce61/config.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Magicforce 61
-#define DESCRIPTION Handwired Magicforce 61
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4 }
-#define MATRIX_COL_PINS { B5, B4, B3, B2, B1, B0, E7, E6, F0, F1, F2, F3, F4, F5 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
diff --git a/keyboards/handwired/magicforce61/info.json b/keyboards/handwired/magicforce61/info.json
deleted file mode 100644
index 22ffccd3ce..0000000000
--- a/keyboards/handwired/magicforce61/info.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "keyboard_name": "Magicforce \"61\"",
- "url": "",
- "maintainer": "qmk",
- "width": 15,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"`", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2},
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {"label":"R", "x":4.5, "y":1},
- {"label":"T", "x":5.5, "y":1},
- {"label":"Y", "x":6.5, "y":1},
- {"label":"U", "x":7.5, "y":1},
- {"label":"I", "x":8.5, "y":1},
- {"label":"O", "x":9.5, "y":1},
- {"label":"P", "x":10.5, "y":1},
- {"label":"[", "x":11.5, "y":1},
- {"label":"]", "x":12.5, "y":1},
- {"label":"\\", "x":13.5, "y":1, "w":1.5},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
- {"label":"H", "x":6.75, "y":2},
- {"label":"J", "x":7.75, "y":2},
- {"label":"K", "x":8.75, "y":2},
- {"label":"L", "x":9.75, "y":2},
- {"label":";", "x":10.75, "y":2},
- {"label":"'", "x":11.75, "y":2},
- {"label":"Enter", "x":12.75, "y":2, "w":2.25},
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.25, "y":3},
- {"label":"C", "x":4.25, "y":3},
- {"label":"V", "x":5.25, "y":3},
- {"label":"B", "x":6.25, "y":3},
- {"label":"N", "x":7.25, "y":3},
- {"label":"M", "x":8.25, "y":3},
- {"label":",", "x":9.25, "y":3},
- {"label":".", "x":10.25, "y":3},
- {"label":"/", "x":11.25, "y":3},
- {"label":"Shift", "x":12.25, "y":3, "w":2.75},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"GUI", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"GUI", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/magicforce61/keymaps/default/keymap.c b/keyboards/handwired/magicforce61/keymaps/default/keymap.c
deleted file mode 100644
index 12252c978a..0000000000
--- a/keyboards/handwired/magicforce61/keymaps/default/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _QWERTY 0
-#define _FN1 1
-#define _FN2 2
-
-#define KC_X0 LT(_FN2, KC_GRV)
-#define KC_X1 MO(_FN1)
-#define NAV_ESC LT(_FN1, KC_ESC)
-#define KC_GUI MAGIC_UNNO_GUI
-
-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, \
- /*|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, \
- /*|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, \
- /*|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, \
- /*|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 \
- /*`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, \
- /*|esc-----`-1------`-2------`-3------`-4------`-5------`-6------`-7------`-8------`-9------`-0------`mnus----`plus----`--bksp--| */
- _______, _______, 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, _______, _______, _______, _______, \
- /*|caps----`-a------`-s------`-d------`-f------`-g------`-h------`-j------`-k------`-l------`-;------`-'------`-----------enter-| */
- _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, \
- /*|shift---`-z------`-x------`-c------`-v------`-b------`-n------`-m------`-,------`-.------`-/------`--------------------shift-| */
- _______, _______, _______, _______, _______, _______, _______, 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, \
- /*|esc-----`-1------`-2------`-3------`-4------`-5------`-6------`-7------`-8------`-9------`-0------`mnus----`plus----`--bksp--| */
- _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, \
- /*|tab-----`-q------`-w------`-e------`-r------`-t------`-y------`-u------`-i------`-o------`-p------`-{------`-}------`--|-----| */
- _______, _______, _______, _______, _______, _______, _______, 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, _______, _______, \
- /*|shift---`-z------`-x------`-c------`-v------`-b------`-n------`-m------`-,------`-.------`-/------`--------------------shift-| */
- _______, _______, _______, _______, _______, _______, _______, _______ \
- /*`ctrl----`-gui----`-alt----`------------------space---------------------------------------`-fn-----`-alt----`ctrl----' ANY */
- )
-};
diff --git a/keyboards/handwired/magicforce61/magicforce61.c b/keyboards/handwired/magicforce61/magicforce61.c
deleted file mode 100644
index 379395366d..0000000000
--- a/keyboards/handwired/magicforce61/magicforce61.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "magicforce61.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/magicforce61/magicforce61.h b/keyboards/handwired/magicforce61/magicforce61.h
deleted file mode 100644
index 37a32ed783..0000000000
--- a/keyboards/handwired/magicforce61/magicforce61.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, \
- K40, K41, K42, K45, K49, K4A, K4C, K4D \
- ) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, KC_NO, K3D }, \
- { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D }, \
-}
diff --git a/keyboards/handwired/magicforce61/readme.md b/keyboards/handwired/magicforce61/readme.md
deleted file mode 100644
index 081992aa84..0000000000
--- a/keyboards/handwired/magicforce61/readme.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Magicforce "61" Handwired
-
-Basically I cut 7 keys off the magicforce68 and handwired everything to a teensy++ 2.0 to make it a ~60% board.
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: magicforce61, teensy++ 2.0
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/magicforce61:default
-
-Flash the firmware using the teensy loader or avrdude.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Wiring Layout / Pinout
-
-| | B5 | B4 | B3 | B2 | B1 | B0 | E7 | E6 | F0 | F1 | F2 | F3 | F4 | F5 |
-| -----: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
-| **D0** | Esc | 1! | 2@ | 3# | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | -_ | =+ | Bspc |
-| **D1** | Tab | Q | W | E | R | T | Y | U | I | O | P | [{ | ]} | \\\| |
-| **D2** | Caps | A | S | D | F | G | H | J | K | L | ;: | '" | | Ent |
-| **D3** | LSft | Z | X | C | V | B | N | M | , | . | / | | | RSft |
-| **D4** | LCtl | LGUI | LAlt | | | Spc | | | | RAlt | RGUI | | App | RCtl |
-
-The following pins are used:
-
-```
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4 }
-#define MATRIX_COL_PINS { B5, B4, B3, B2, B1, B0, E7, E6, F0, F1, F2, F3, F4, F5 }
-```
diff --git a/keyboards/handwired/magicforce61/rules.mk b/keyboards/handwired/magicforce61/rules.mk
deleted file mode 100644
index 91147ab4fb..0000000000
--- a/keyboards/handwired/magicforce61/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-
-# MCU name
-MCU = at90usb1286
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=1024
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
-CONSOLE_ENABLE ?= yes # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE ?= no # USB Nkey Rollover
-BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE ?= no # MIDI controls
-UNICODE_ENABLE ?= no # Unicode
-BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE ?= no # Audio output on port C6
diff --git a/keyboards/handwired/magicforce68/config.h b/keyboards/handwired/magicforce68/config.h
deleted file mode 100644
index dc0a82c94a..0000000000
--- a/keyboards/handwired/magicforce68/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Magicforce 68
-#define DESCRIPTION Handwired Magicforce 68
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
-#define MATRIX_COL_PINS { B2, B0, D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B6, B7, D6 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/magicforce68/info.json b/keyboards/handwired/magicforce68/info.json
deleted file mode 100644
index a3905336ab..0000000000
--- a/keyboards/handwired/magicforce68/info.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "keyboard_name": "Magicforce 68 Handwired",
- "url": "",
- "maintainer": "qmk",
- "width": 17.25,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"`", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2},
- {"label":"Insert", "x":15.25, "y":0},
- {"label":"Page Up", "x":16.25, "y":0},
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {"label":"R", "x":4.5, "y":1},
- {"label":"T", "x":5.5, "y":1},
- {"label":"Y", "x":6.5, "y":1},
- {"label":"U", "x":7.5, "y":1},
- {"label":"I", "x":8.5, "y":1},
- {"label":"O", "x":9.5, "y":1},
- {"label":"P", "x":10.5, "y":1},
- {"label":"[", "x":11.5, "y":1},
- {"label":"]", "x":12.5, "y":1},
- {"label":"\\", "x":13.5, "y":1, "w":1.5},
- {"label":"Delete", "x":15.25, "y":1},
- {"label":"Page Down", "x":16.25, "y":1},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
- {"label":"H", "x":6.75, "y":2},
- {"label":"J", "x":7.75, "y":2},
- {"label":"K", "x":8.75, "y":2},
- {"label":"L", "x":9.75, "y":2},
- {"label":";", "x":10.75, "y":2},
- {"label":"'", "x":11.75, "y":2},
- {"label":"Enter", "x":12.75, "y":2, "w":2.25},
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.25, "y":3},
- {"label":"C", "x":4.25, "y":3},
- {"label":"V", "x":5.25, "y":3},
- {"label":"B", "x":6.25, "y":3},
- {"label":"N", "x":7.25, "y":3},
- {"label":"M", "x":8.25, "y":3},
- {"label":",", "x":9.25, "y":3},
- {"label":".", "x":10.25, "y":3},
- {"label":"/", "x":11.25, "y":3},
- {"label":"Shift", "x":12.25, "y":3, "w":2.75},
- {"label":"Up", "x":15.25, "y":3},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"GUI", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Fn", "x":10, "y":4, "w":1.25},
- {"label":"Alt", "x":11.25, "y":4, "w":1.25},
- {"label":"Ctrl", "x":12.5, "y":4, "w":1.25},
- {"label":"Left", "x":14.25, "y":4},
- {"label":"Down", "x":15.25, "y":4},
- {"label":"Right", "x":16.25, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/magicforce68/keymaps/default/keymap.c b/keyboards/handwired/magicforce68/keymaps/default/keymap.c
deleted file mode 100644
index e44cfefdb1..0000000000
--- a/keyboards/handwired/magicforce68/keymaps/default/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#define _QWERTY 0
-#define _FN1 1
-#define _FN2 2
-
-#define KC_X0 LT(_FN2, KC_GRV)
-#define KC_X1 MO(_FN1)
-
-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 \
- ),
-
- [_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 \
- ),
-
- [_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 \
- )
-};
diff --git a/keyboards/handwired/magicforce68/magicforce68.c b/keyboards/handwired/magicforce68/magicforce68.c
deleted file mode 100644
index 84b1007e2c..0000000000
--- a/keyboards/handwired/magicforce68/magicforce68.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "magicforce68.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/magicforce68/magicforce68.h b/keyboards/handwired/magicforce68/magicforce68.h
deleted file mode 100644
index 949507fef7..0000000000
--- a/keyboards/handwired/magicforce68/magicforce68.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef MAGICFORCE68_H
-#define MAGICFORCE68_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K2E, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K3E, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, \
- K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \
- ) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
- { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E } \
-}
-
-#endif
diff --git a/keyboards/handwired/magicforce68/readme.md b/keyboards/handwired/magicforce68/readme.md
deleted file mode 100644
index 5b5ade3b7f..0000000000
--- a/keyboards/handwired/magicforce68/readme.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Magicforce 68 Handwired
-
-This firmware is for a Magicforce 68 that's had its PCB removed and is handwired with an Arduino Micro. NOTE: The Arduino Micro is different than the Arduino *Pro* Micro.
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: magicforce68, Arduino Micro
-
-## Wiring Layout
-
-![Wiring Layout](http://i.imgur.com/NmTCv5u.png)
-
-## Pinout
-
-The following pins are used:
-- Columns 1-15: B2, B0, D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B6, B7, D6
-- Rows 1-5: F0, F1, F4, F5, F6
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/magicforce68:default
-
-To flash the firmware onto the microcontroller, run `make handwired/magicforce68:default:avrdude`, and press the reset button.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/magicforce68/rules.mk b/keyboards/handwired/magicforce68/rules.mk
deleted file mode 100644
index fe01b544c8..0000000000
--- a/keyboards/handwired/magicforce68/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
diff --git a/keyboards/handwired/mechboards_micropad/config.h b/keyboards/handwired/mechboards_micropad/config.h
deleted file mode 100644
index 01a0bdd909..0000000000
--- a/keyboards/handwired/mechboards_micropad/config.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
-Copyright 2019 Yiancar
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x0001
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar
-#define PRODUCT Mechboards Micropad
-#define DESCRIPTION Enjoy your freebie!
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B6 }
-#define MATRIX_COL_PINS { B2, B3, B1, F7 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-// #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
-// #endif
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* key combination for magic key command */
-/* defined by default; to change, uncomment and set to the combination you want */
-// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP H
-//#define MAGIC_KEY_HELP_ALT SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER0_ALT GRAVE
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER B
-//#define MAGIC_KEY_BOOTLOADER_ALT ESC
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-/*
- * HD44780 LCD Display Configuration
- */
-/*
-#define LCD_LINES 2 //< number of visible lines of the display
-#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
-
-#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
-
-#if LCD_IO_MODE
-#define LCD_PORT PORTB //< port for the LCD lines
-#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
-#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
-#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
-#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
-#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
-#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
-#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
-#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
-#define LCD_RS_PORT LCD_PORT //< port for RS line
-#define LCD_RS_PIN 3 //< pin for RS line
-#define LCD_RW_PORT LCD_PORT //< port for RW line
-#define LCD_RW_PIN 2 //< pin for RW line
-#define LCD_E_PORT LCD_PORT //< port for Enable line
-#define LCD_E_PIN 1 //< pin for Enable line
-#endif
-*/
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/mechboards_micropad/info.json b/keyboards/handwired/mechboards_micropad/info.json
deleted file mode 100644
index f8908d9fcf..0000000000
--- a/keyboards/handwired/mechboards_micropad/info.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "keyboard_name": "Mechboards Micropad",
- "url": "",
- "maintainer": "yiancar",
- "width": 4,
- "height": 1,
- "layouts": {
- "LAYOUT": {
- "layout": [{"label":"1", "x":0, "y":0}, {"label":"2", "x":1, "y":0}, {"label":"3", "x":2, "y":0}, {"label":"4", "x":3, "y":0}]
- }
- }
-} \ No newline at end of file
diff --git a/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c b/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c
deleted file mode 100644
index 41784c5204..0000000000
--- a/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2019 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-uint8_t led_state = 1;
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- MECHBOARDURL = SAFE_RANGE,
- QMKURL,
- MKUK,
- LEDCHANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT( /* Base */
- MECHBOARDURL, QMKURL, MKUK, LEDCHANGE \
- ),
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case MECHBOARDURL:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING("https://mechboards.co.uk/" SS_TAP(X_ENTER));
- } else {
- // when keycode QMKBEST is released
- }
- break;
- case QMKURL:
- if (record->event.pressed) {
- // when keycode QMKURL is pressed
- SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
- } else {
- // when keycode QMKURL is released
- }
- break;
- case MKUK:
- if (record->event.pressed) {
- // when keycode QMKURL is pressed
- SEND_STRING("MKUK4 was amazing!");
- } else {
- // when keycode QMKURL is released
- }
- break;
- case LEDCHANGE:
- if (record->event.pressed) {
- // when keycode QMKURL is pressed
- led_state = !led_state;
- writePin(F6, led_state);
- } else {
- // when keycode QMKURL is released
- }
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- setPinOutput(F6);
- writePinLow(F6);
-}
-
-void matrix_scan_user(void) {
-
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/mechboards_micropad/keymaps/default/readme.md b/keyboards/handwired/mechboards_micropad/keymaps/default/readme.md
deleted file mode 100644
index 92d37ad8b9..0000000000
--- a/keyboards/handwired/mechboards_micropad/keymaps/default/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# The default keymap for mechboards_micropad
-
-This is a 4 key micropad freebie from Mechboards and Yiancar-Designs.
-Press the keys to find out the secrets:) \ No newline at end of file
diff --git a/keyboards/handwired/mechboards_micropad/mechboards_micropad.c b/keyboards/handwired/mechboards_micropad/mechboards_micropad.c
deleted file mode 100644
index d4c8fa9b92..0000000000
--- a/keyboards/handwired/mechboards_micropad/mechboards_micropad.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2019 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "mechboards_micropad.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
diff --git a/keyboards/handwired/mechboards_micropad/mechboards_micropad.h b/keyboards/handwired/mechboards_micropad/mechboards_micropad.h
deleted file mode 100644
index 9839084862..0000000000
--- a/keyboards/handwired/mechboards_micropad/mechboards_micropad.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2019 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#include "quantum.h"
-
-/* This a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT( \
- k00, k01, k02, k03 \
-) \
-{ \
- { k00, k01, k02, k03 } \
-}
diff --git a/keyboards/handwired/mechboards_micropad/readme.md b/keyboards/handwired/mechboards_micropad/readme.md
deleted file mode 100644
index 36230b1281..0000000000
--- a/keyboards/handwired/mechboards_micropad/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Mechboards Micropad
-===================
-
-This was a freebie, use me and find out more about me :)
-
-Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [github](https://github.com/yiancar)
-Hardware Supported: ATMega32u4
-Hardware Availability: Random mechboards.co.uk order and UK meetups!
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/mechboards_micropad: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/mechboards_micropad/rules.mk b/keyboards/handwired/mechboards_micropad/rules.mk
deleted file mode 100644
index 8ac2297e46..0000000000
--- a/keyboards/handwired/mechboards_micropad/rules.mk
+++ /dev/null
@@ -1,81 +0,0 @@
-# MCU name
-#MCU = at90usb1286
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = caterina
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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 on B7 by default
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/handwired/minorca/config.h b/keyboards/handwired/minorca/config.h
deleted file mode 100644
index c30d54db70..0000000000
--- a/keyboards/handwired/minorca/config.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6660
-#define DEVICE_VER 0x0001
-#define MANUFACTURER ME
-#define PRODUCT MinOrca
-#define DESCRIPTION Tiny Whale
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/* MinOrca PCB default pin-out */
-#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 }
-#define MATRIX_ROW_PINS { B0, B1, B2, B3 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/minorca/info.json b/keyboards/handwired/minorca/info.json
deleted file mode 100644
index dafee63456..0000000000
--- a/keyboards/handwired/minorca/info.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "keyboard_name": "Minorca Handwired",
- "url": "",
- "maintainer": "qmk",
- "width": 12,
- "height": 4,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"KA00", "x":0, "y":0},
- {"label":"KA01", "x":1, "y":0},
- {"label":"KA02", "x":2, "y":0},
- {"label":"KA03", "x":3, "y":0},
- {"label":"KA04", "x":4, "y":0},
- {"label":"KA05", "x":5, "y":0},
- {"label":"KA06", "x":6, "y":0},
- {"label":"KA07", "x":7, "y":0},
- {"label":"KA08", "x":8, "y":0},
- {"label":"KA09", "x":9, "y":0},
- {"label":"KA10", "x":10, "y":0},
- {"label":"KA11", "x":11, "y":0},
- {"label":"KB00", "x":0, "y":1, "w":1.25},
- {"label":"KB01", "x":1.25, "y":1},
- {"label":"KB02", "x":2.25, "y":1},
- {"label":"KB03", "x":3.25, "y":1},
- {"label":"KB04", "x":4.25, "y":1},
- {"label":"KB05", "x":5.25, "y":1},
- {"label":"KB06", "x":6.25, "y":1},
- {"label":"KB07", "x":7.25, "y":1},
- {"label":"KB08", "x":8.25, "y":1},
- {"label":"KB09", "x":9.25, "y":1},
- {"label":"KB11", "x":10.25, "y":1, "w":1.75},
- {"label":"KC00", "x":0, "y":2, "w":1.75},
- {"label":"KC02", "x":1.75, "y":2},
- {"label":"KC03", "x":2.75, "y":2},
- {"label":"KC04", "x":3.75, "y":2},
- {"label":"KC05", "x":4.75, "y":2},
- {"label":"KC06", "x":5.75, "y":2},
- {"label":"KC07", "x":6.75, "y":2},
- {"label":"KC08", "x":7.75, "y":2},
- {"label":"KC09", "x":8.75, "y":2},
- {"label":"KC10", "x":9.75, "y":2},
- {"label":"KC11", "x":10.75, "y":2, "w":1.25},
- {"label":"KD00", "x":0, "y":3, "w":1.25},
- {"label":"KD02", "x":1.25, "y":3, "w":1.25},
- {"label":"KD03", "x":2.5, "y":3, "w":1.25},
- {"label":"KD04", "x":3.75, "y":3, "w":2.25},
- {"label":"KD07", "x":6, "y":3, "w":2.25},
- {"label":"KD09", "x":8.25, "y":3, "w":1.25},
- {"label":"KD10", "x":9.5, "y":3},
- {"label":"KD11", "x":10.5, "y":3, "w":1.5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/minorca/keymaps/default/config.h b/keyboards/handwired/minorca/keymaps/default/config.h
deleted file mode 100644
index c19ad73724..0000000000
--- a/keyboards/handwired/minorca/keymaps/default/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-// place overrides here
-
-
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
diff --git a/keyboards/handwired/minorca/keymaps/default/keymap.c b/keyboards/handwired/minorca/keymaps/default/keymap.c
deleted file mode 100644
index 29ed7aa03f..0000000000
--- a/keyboards/handwired/minorca/keymaps/default/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-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 \
- ),
- [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 \
- ),
- [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 \
- ),
-};
diff --git a/keyboards/handwired/minorca/keymaps/default/readme.md b/keyboards/handwired/minorca/keymaps/default/readme.md
deleted file mode 100644
index 6ed31f82b3..0000000000
--- a/keyboards/handwired/minorca/keymaps/default/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The Default Minorca Layout
-
-Copied from https://github.com/pancinteractive/qmk_firmware/blob/master/keyboard/minorca_mkV/keymaps/default/keymap.c
-
-It looks incomplete. \ No newline at end of file
diff --git a/keyboards/handwired/minorca/keymaps/default/rules.mk b/keyboards/handwired/minorca/keymaps/default/rules.mk
deleted file mode 100644
index 584798d1a1..0000000000
--- a/keyboards/handwired/minorca/keymaps/default/rules.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-# 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 = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = 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/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/keymaps/rgb/config.h b/keyboards/handwired/minorca/keymaps/rgb/config.h
deleted file mode 100644
index 43b3c59110..0000000000
--- a/keyboards/handwired/minorca/keymaps/rgb/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
-
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
-
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D5
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 13 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-#endif
diff --git a/keyboards/handwired/minorca/keymaps/rgb/keymap.c b/keyboards/handwired/minorca/keymaps/rgb/keymap.c
deleted file mode 100644
index c99a255e40..0000000000
--- a/keyboards/handwired/minorca/keymaps/rgb/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _TB 3
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT( /* Qwerty */ \
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
- LT(_TB, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RSFT, KC_ENT), \
- KC_LCTL, KC_LGUI, KC_LALT, LT(_RAISE, KC_SPC), LT(_LOWER, KC_SPC), KC_RALT, KC_APP, KC_RCTL \
- ),
-
- [_RAISE] = LAYOUT( \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
- _______, _______, _______, KC_PAUS, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_PIPE, \
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_ENT, \
- _______, _______, _______, _______, _______, KC_MNXT, KC_MUTE, KC_MPLY \
- ),
-
- [_LOWER] = LAYOUT( \
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
- _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_BSLS, \
- _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_PGUP, KC_ENT, \
- _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
- ),
-
- [_TB] = LAYOUT( /* Tab */ \
- KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_UP, KC_ENT, \
- BL_STEP, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT \
- )
-
-};
diff --git a/keyboards/handwired/minorca/keymaps/rgb/readme.md b/keyboards/handwired/minorca/keymaps/rgb/readme.md
deleted file mode 100644
index ec3b4f00f1..0000000000
--- a/keyboards/handwired/minorca/keymaps/rgb/readme.md
+++ /dev/null
@@ -1,25 +0,0 @@
-#RGB backlight for MinOrca
-
-![wiring](https://i.imgur.com/jyYyiSS.jpg)
-
-Example of adding WS2812b LEDs to a MinOrca.
-
-http://www.40percent.club/2016/08/tiny-whale.html
-
-The keymap is a work in progress. The RGB functions are accessed by holding down the TAB key.
-
-* Tab + Z Toggle on/off
-* Tab + X Mode
-* Tab + C Hue+
-* Tab + V Hue-
-* Tab + B Saturation+
-* Tab + N Saturation-
-* Tab + M Brightness+
-* Tab + , Brightness-
-
-Example wiring:
-
-WS2812 data pin is connected to D5
-
-![wiring](https://i.imgur.com/CFBf71F.jpg)
-![wiring closeup](https://i.imgur.com/VJogRoj.jpg)
diff --git a/keyboards/handwired/minorca/keymaps/rgb/rules.mk b/keyboards/handwired/minorca/keymaps/rgb/rules.mk
deleted file mode 100644
index 6e430d59e2..0000000000
--- a/keyboards/handwired/minorca/keymaps/rgb/rules.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-# 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 = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-# 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/minorca/minorca.c b/keyboards/handwired/minorca/minorca.c
deleted file mode 100644
index 24e72c2a5c..0000000000
--- a/keyboards/handwired/minorca/minorca.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "minorca.h"
-
-void matrix_init_kb(void) {
-
- matrix_init_user();
-} \ No newline at end of file
diff --git a/keyboards/handwired/minorca/minorca.h b/keyboards/handwired/minorca/minorca.h
deleted file mode 100644
index 2df4ebdc4f..0000000000
--- a/keyboards/handwired/minorca/minorca.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef MINORCA_H
-#define MINORCA_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11, \
- KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KB11, \
- KC00, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11, \
- KD00, KD02, KD03, KD04, KD07, KD09, KD10, KD11 \
-) { \
- { KA00, KA01, KA02, KA03, KA04, KA05, KA06, KA07, KA08, KA09, KA10, KA11 }, \
- { KB00, KB01, KB02, KB03, KB04, KB05, KB06, KB07, KB08, KB09, KC_NO, KB11 }, \
- { KC00, KC_NO, KC02, KC03, KC04, KC05, KC06, KC07, KC08, KC09, KC10, KC11 }, \
- { KD00, KC_NO, KD02, KD03, KD04, KC_NO, KC_NO, KD07, KC_NO, KD09, KD10, KD11 } \
-}
-
-#endif
diff --git a/keyboards/handwired/minorca/readme.md b/keyboards/handwired/minorca/readme.md
deleted file mode 100644
index c910459603..0000000000
--- a/keyboards/handwired/minorca/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# minorca
-
-A handwired 40% keyboard by panc.co.
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: panc.co minorca
-Hardware Availability: [panc.co](https://www.panc.co/blog/minorcasebright-information-page)
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/minorca: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/minorca/rules.mk b/keyboards/handwired/minorca/rules.mk
deleted file mode 100644
index 3e408e2b93..0000000000
--- a/keyboards/handwired/minorca/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-# 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 = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/handwired/ms_sculpt_mobile/babblePaste.c b/keyboards/handwired/ms_sculpt_mobile/babblePaste.c
deleted file mode 100644
index e035648706..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/babblePaste.c
+++ /dev/null
@@ -1,460 +0,0 @@
-/* A library to output the right key shortcut in any common app.
-Given a global variable babble_mode to show the environment and a
-key that calls the paste macro, do the right type of paste.
-Setting the context is done by another macro, or TBD interaction with the host.
-
-Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
-and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c
-*/
-
-#include "babblePaste.h"
-
-#include "action_macro.h"
-
-#ifdef USE_BABLPASTE
-
-// GLOBAL variable to determine mode. Sets startup default if no eeppom
-uint8_t babble_mode =0 ;
-
-// small function that we might also want to call from a keymap.
-
-macro_t* switch_babble_mode( uint8_t id) {
- babble_mode= id;
- return MACRO_NONE; //less typing where called
-}
-
-
-// Today I learned that the preprocessor can not create a switch statement label from an argument
-// And else statements have problems, see https://gcc.gnu.org/onlinedocs/gcc-3.0.1/cpp_3.html#SEC15
-#define BABLM(ent, macro...) \
- if ( ent == shortcut ) \
- { action_macro_play( MACRO(macro)); return MACRO_NONE; }
-
-
-/* this function runs the appropriate babblepaste macro, given
-the global babble_mode, and a shortcut from the ENUM in babblePaste.h
-TODO, the pointers in this function should be stored in a PROGMEM array, not ram.
-But that requires even more clever preprocessor foo.
-*/
-const macro_t *babblePaste (keyrecord_t *record, uint8_t shortcut) {
-/*
- if ( shortcut < BABL_START_NUM || \
- shortcut >= (BABL_START_NUM + BABL_NUM_MACROS ) ) {
- return MACRO_NONE;
- }
-*/
-
-
-#ifdef MS_MODE
- if ( BABL_WINDOWS == shortcut ) { return switch_babble_mode(MS_MODE); }
-#endif
-#ifdef MAC_MODE
- if ( BABL_MAC == shortcut) { return switch_babble_mode(MAC_MODE); }
-#endif
-#ifdef LINUX_MODE
- if ( BABL_LINUX == shortcut ) { return switch_babble_mode(LINUX_MODE); }
-#endif
- #ifdef READMUX_MODE
- if ( BABL_READLINE == shortcut ) { switch_babble_mode(READMUX_MODE); return MACRO_NONE; }
-#endif
-#ifdef VI_MODE
- if ( BABL_VI == shortcut ) { return switch_babble_mode(VI_MODE); }
-#endif
-#ifdef EMACS_MODE
- if ( BABL_EMACS == shortcut ) { return switch_babble_mode(EMACS_MODE); }
-#endif
-
-
-
- switch(babble_mode) {
-
-#ifdef MS_MODE
-
- case MS_MODE:
- BABLM( BABL_GO_LEFT_1C, T(LEFT), END );
- BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END );
- BABLM( BABL_GO_LEFT_WORD, D(LCTL), T(LEFT), U(LCTL), END );
- BABLM( BABL_GO_RIGHT_WORD, D(LCTL), T(RIGHT), U(LCTL), END );
- BABLM( BABL_GO_START_LINE, T(HOME), END );
- BABLM( BABL_GO_END_LINE, T(END), END );
- BABLM( BABL_GO_START_DOC, D(LCTL),T(HOME), U(LCTL),END );
- BABLM( BABL_GO_END_DOC, D(LCTL),T(END), U(LCTL),END );
- BABLM( BABL_GO_NEXT_LINE, T(DOWN), END );
- BABLM( BABL_GO_PREV_LINE, T(UP), END );
- BABLM( BABL_PGDN, T(PGDN), END );
- BABLM( BABL_PGUP, T(PGUP), END );
- BABLM( BABL_DEL_RIGHT_1C, T(DEL), END );
- BABLM( BABL_DEL_LEFT_WORD, D(LCTL), T(BSPACE), U(LCTL), END );
- BABLM( BABL_DEL_RIGHT_WORD, D(LCTL), T(DEL), U(LCTL), END );
- BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END);
- BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END );
-#ifndef BABL_MOVEMENTONLY
- BABLM( BABL_UNDO, D(LCTL), T(Z), U(LCTL), END );
- BABLM( BABL_REDO, D(LCTL), T(Y), U(LCTL), END );
- BABLM( BABL_CUT, D(LCTL), T(X), U(LCTL), END );
- BABLM( BABL_COPY, D(LCTL), T(C), U(LCTL), END );
- BABLM( BABL_PASTE, D(LCTL), T(V), U(LCTL), END );
- BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END );
- BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END );
- BABLM( BABL_FIND_NEXT, T(F3),END );
- BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END );
- BABLM( BABL_RUNAPP, D(LGUI),T(R), U(LGUI),END );
- BABLM( BABL_SWITCH_APP_NEXT, D(LALT),T(TAB), U(LALT),END );
- BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LALT),T(TAB), U(LALT), U(LSFT),END );
- BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END );
- BABLM( BABL_HELP, T(F1),END );
-#ifndef BABL_NOBROWSER
- BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END );
- BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END );
- BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END );
- BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END );
- BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END );
- BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END );
- BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END );
- BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END );
- BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END );
- BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END );
- //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LCTL),END ); // EDGE
- BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome
- // Chrome
- BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache
- BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F
- BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), D(RSFT), T(EQL), U(RSFT), U(LCTL),END ); // ctr+ +
- BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END );
-#endif
-#endif
-
- // Todo, ring bell, flash light, show user this isn't supported
- return MACRO_NONE;
-
-
-#endif /* MS_MODE*/
-
-
-#ifdef LINUX_MODE
-
- case LINUX_MODE:
- BABLM( BABL_GO_LEFT_1C , T(LEFT), END );
- BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END );
- BABLM( BABL_GO_LEFT_WORD , D(LCTL), T(LEFT), U(LCTL), END );
- BABLM( BABL_GO_RIGHT_WORD , D(LCTL), T(RIGHT), U(LCTL), END );
- BABLM( BABL_GO_START_LINE , T(HOME), END );
- BABLM( BABL_GO_END_LINE , T(END), END );
- BABLM( BABL_GO_START_DOC , D(LCTL),T(HOME), U(LCTL),END );
- BABLM( BABL_GO_END_DOC , D(LCTL),T(END), U(LCTL),END );
- BABLM( BABL_GO_NEXT_LINE , T(DOWN), END );
- BABLM( BABL_GO_PREV_LINE , T(UP), END );
- BABLM( BABL_PGDN , T(PGDN), END );
- BABLM( BABL_PGUP , T(PGUP), END );
- BABLM( BABL_DEL_RIGHT_1C , D(DEL), END );
- BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END );
- BABLM( BABL_DEL_RIGHT_WORD , D(LCTL), T(DEL), U(LCTL), END );
- BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END);
- BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END );
-#ifndef BABL_MOVEMENTONLY
- BABLM( BABL_UNDO , D(LCTL), T(Z), U(LCTL), END );
- BABLM( BABL_REDO , D(LCTL), T(Y), U(LCTL), END );
- BABLM( BABL_CUT , D(LCTL), T(X), U(LCTL), END );
- BABLM( BABL_COPY , D(LCTL), T(C), U(LCTL), END );
- BABLM( BABL_PASTE , D(LCTL), T(V), U(LCTL), END );
- BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END );
- BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END );
- /* BABLM(BABL_FIND_NEXT , T(F3),END ); KDE */
- BABLM( BABL_FIND_NEXT, D(LCTL),T(G), U(LCTL),END ); // Gnome*/
- /* BABLM( , D(LCTL),T(R), U(LCTL),END ); KDE */
- BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END ); // Gnome*/
- BABLM( BABL_RUNAPP, D(LALT),T(F2), U(LALT),END );
- BABLM( BABL_SWITCH_APP_NEXT, D(LCTL),T(TAB), U(LCTL),END );
- BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LCTL),T(TAB), U(LCTL), U(LSFT),END );
- BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END );
- //BABLM( BABL_HELP, END );
-
-#ifndef BABL_NOBROWSER
- BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END );
- BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END );
- BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END );
- BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END );
- BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END );
- BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END );
- BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END );
- BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END );
- BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END );
- BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END );
- BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome
- BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache
- BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F
- BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), T(PLUS), U(LCTL),END );
- BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END );
-#endif
-#endif
- return MACRO_NONE;
-
-#endif
-
-#ifdef MAC_MODE
-
- case MAC_MODE:
- BABLM( BABL_GO_LEFT_1C , T(LEFT), END );
- BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END );
- BABLM( BABL_GO_LEFT_WORD , D(LALT), T(LEFT), U(LALT), END );
- BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(RIGHT), U(LALT), END );
- BABLM( BABL_GO_START_LINE , D(LGUI), T(LEFT), U(LGUI), END );
- BABLM( BABL_GO_END_LINE , D(LGUI), T(RIGHT), U(LGUI), END );
- BABLM( BABL_GO_START_DOC , D(LGUI),T(UP), U(LGUI),END );
- BABLM( BABL_GO_END_DOC , D(LGUI),T(DOWN), U(LGUI),END );
- BABLM( BABL_GO_NEXT_LINE , T(DOWN), END );
- BABLM( BABL_GO_PREV_LINE , T(UP), END );
- BABLM( BABL_PGDN , D(LALT),T(DOWN), U(LALT), END );
- BABLM( BABL_PGUP , D(LALT),T(UP), U(LALT), END );
- BABLM( BABL_DEL_RIGHT_1C , D(DEL), END );
- BABLM( BABL_DEL_LEFT_WORD , D(LALT), T(BSPACE), U(LALT), END );
- BABLM( BABL_DEL_RIGHT_WORD, D(LALT), T(DEL), U(LALT), END );
- BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );// there must be another way
- BABLM( BABL_DEL_TO_LINE_START, D(LGUI), T(BSPACE), U(LGUI), END );
-#ifndef BABL_MOVEMENTONLY
- BABLM( BABL_UNDO , D(1), D(LGUI), T(Z), U(LGUI), END );
- BABLM( BABL_REDO , D(LSFT),D(LGUI), T(Z), U(LSFT),U(LGUI), END );
- BABLM( BABL_CUT , D(LGUI), T(X), U(LGUI), END );
- BABLM( BABL_COPY , D(LGUI), T(C), U(LGUI), END );
- BABLM( BABL_PASTE , D(LGUI), T(V), U(LGUI), END );
- BABLM( BABL_SELECT_ALL , D(LGUI), T(A), U(LGUI), END );
- BABLM( BABL_FIND , D(LGUI),T(F), U(LGUI),END );
- BABLM( BABL_FIND_NEXT, D(LGUI),T(G), U(LGUI),END );
- BABLM( BABL_FIND_REPLACE, D(LGUI),T(F), U(LGUI),END );
- BABLM( BABL_RUNAPP , D(LGUI),T(R), U(LGUI),END );
- BABLM( BABL_SWITCH_APP_NEXT , D(LGUI),T(TAB), U(LGUI),END );
- BABLM( BABL_SWITCH_APP_LAST , D(LSFT),D(LGUI),T(TAB), U(LGUI), U(LSFT),END );
- BABLM( BABL_CLOSE_APP , D(LGUI),T(Q), U(LGUI),END );
- BABLM( BABL_HELP , D(LSFT),D(LGUI),T(SLASH), U(LGUI), U(LSFT),END );
-
-#ifndef BABL_NOBROWSER
- BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
- BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
- BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
- BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
- BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
- BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
- BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
- BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
- BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
- BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
- //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
- BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
- // Chrome
- BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
- BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
- BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ +
- BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
-#endif
-#endif
-
- return MACRO_NONE;
-#endif
-
-#ifdef EMACS_MODE
-
- case EMACS_MODE:
- switch(shortcut) {
-//probably should allow meta to not be ALT
-
- BABLM( BABL_GO_LEFT_1C, T(LEFT), END );
- BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END );
- BABLM( BABL_GO_LEFT_WORD, D(LALT), T(B), U(LALT), END );
- BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END );
- BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END );
- BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END );
- BABLM( BABL_GO_START_DOC , D(LALT), D(LSFT), T(COMM),U(LSFT), U(LALT) ,END );
- BABLM( BABL_GO_END_DOC , D(LALT), D(LSFT), T(DOT), U(LSFT), U(LALT) ,END );
- BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END );
- BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END );
- BABLM( BABL_PGDN , D(LCTL), T(V), U(LCTL), END );
- BABLM( BABL_PGUP , D(LALT), T(V), U(LALT), END );
- BABLM( BABL_DEL_RIGHT_1C, D(LCTL), T(D), U(LCTL),END );
- BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END );
- BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END );
- BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );
- BABLM( BABL_DEL_TO_LINE_START, T(ESC), T(0), D(LCTL), T(K), U(LCTL), END );
-#ifndef BABL_MOVEMENTONLY
- BABLM( BABL_UNDO , D(LCTL), T(X), U(LCTL),T(C), END );
- BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably
- BABLM( BABL_CUT , D(LCTL), T(W), U(LCTL), END );
- BABLM( BABL_COPY , D(LALT), T(W), U(LALT), END ); //really?
- BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END );
- BABLM( BABL_SELECT_ALL ,D(LCTL), T(X), U(LCTL),T(H), END );
- BABLM( BABL_FIND , D(LCTL), T(S), U(LCTL),END );
- BABLM( BABL_FIND_NEXT , D(LCTL), T(S), U(LCTL),END );
- BABLM( BABL_FIND_REPLACE , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END );
- BABLM( BABL_RUNAPP , D(LALT), T(X), U(LALT),T(S),T(H),T(E),T(L),T(L),END );// arguably
- BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(X), U(LCTL),T(RIGHT), END ); // arguably
- BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(X), U(LCTL),T(LEFT), END ); // arguably
- BABLM( BABL_CLOSE_APP , D(LCTL), T(X), U(LCTL),T(C),END );
- BABLM( BABL_HELP , D(LCTL),T(H), U(LCTL),T(A),END); // start search in help
-#ifndef BABL_NOBROWSER
-/* you get to figure w3 out
- BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
- BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
- BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
- BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
- BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
- BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
- BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
- BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
- BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
- BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
- //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
- BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
- // Chrome
- BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
- BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
- BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ +
- BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
-*/
-#endif
-#endif
- break;
-
- return MACRO_NONE;
- }
-
-#endif
-
-
-#ifdef VI_MODE
- case VI_MODE:
-// you have to track the modes yourself. Otherwise motion is awful (bell, bell, bell)
-
-
- BABLM( BABL_GO_LEFT_1C , T(H), END );
- BABLM( BABL_GO_RIGHT_1C , T(L), END );
- BABLM( BABL_GO_LEFT_WORD , T(B),END );
- BABLM( BABL_GO_RIGHT_WORD , T(W), END );
- BABLM( BABL_GO_START_LINE , D(LSFT), T(6),U(LSFT), END ); //^
- BABLM( BABL_GO_END_LINE , D(LSFT), T(4),U(LSFT) , END ); //$
- BABLM( BABL_GO_START_DOC , T(G),T(G) ,END );
- BABLM( BABL_GO_END_DOC , D(LSFT), T(G),U(LSFT),END );
- BABLM( BABL_GO_NEXT_LINE , T(J), END );
- BABLM( BABL_GO_PREV_LINE, T(K), END );
- BABLM( BABL_PGDN ,D(LCTL), T(F), U(LCTL), END );
- BABLM( BABL_PGUP , D(LCTL), T(B), U(LCTL), END );
- BABLM( BABL_DEL_RIGHT_1C , T(X),END );
- BABLM( BABL_DEL_LEFT_WORD , T(D),T(G),T(E),END );
- BABLM( BABL_DEL_RIGHT_WORD , T(D),T(W),END );
- BABLM( BABL_DEL_TO_LINE_END, T(D),D(LSFT), T(4),U(LSFT) ,END ); // d$
- BABLM( BABL_DEL_TO_LINE_START, T(D),D(LSFT), T(6),U(LSFT) ,END );
-#ifndef BABL_MOVEMENTONLY
- BABLM( BABL_UNDO , T(U), END );
- BABLM( BABL_REDO , D(LCTL), T(R), U(LCTL), END );
- BABLM( BABL_CUT , T(X), END );
- BABLM( BABL_COPY , T(Y),END );
- BABLM( BABL_PASTE , T(P), END );
- BABLM( BABL_SELECT_ALL , D(LSFT), T(SCLN),U(LSFT),D(LSFT), T(5),U(LSFT),T(Y), END ); // wrong but helpful?
- BABLM( BABL_FIND , T(SLASH),END );
- BABLM( BABL_FIND_NEXT , T(N),END );
- BABLM( BABL_FIND_REPLACE , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END );
- BABLM( BABL_RUNAPP,END );
- BABLM( BABL_SWITCH_APP_NEXT ,END );
- BABLM( BABL_SWITCH_APP_LAST ,END );
- BABLM(BABL_CLOSE_APP, D(LSFT), T(SCLN),U(LSFT), T(Q), D(RSFT), T(1),U(RSFT), END );
- BABLM(BABL_HELP, D(LSFT), T(SCLN),U(LSFT),T(H),END); // start search in help
-#ifndef BABL_NOBROWSER
-/* you get to figure this out
- BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
- BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
- BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
- BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
- BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
- BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
- BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
- BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
- BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
- BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
- //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
- BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
- // Chrome
- BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
- BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
- BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END );
- BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
-*/
-#endif
-#endif
- return MACRO_NONE;
-#endif
-
-
-
-
-#ifdef READMUX_MODE
-// Readline command line editing + tmux windowing
-// I havent decided how much to do readline and how much tmux
-
-
- case READMUX_MODE:
-
- BABLM( BABL_GO_LEFT_1C , T(LEFT), END );
- BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END );
- BABLM( BABL_GO_LEFT_WORD , D(LALT), T(B), U(LALT), END );
- BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END );
- BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END );
- BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END );
- //BABLM( BABL_GO_START_DOC ,END );// tmux?
- //BABLM( BABL_GO_END_DOC ,END ); // tmux?
- BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END );
- BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END );
- BABLM( BABL_PGDN , T(PGDN), END );
- BABLM( BABL_PGUP , T(PGUP), END );
- BABLM( BABL_DEL_RIGHT_1C , D(LCTL), T(D), U(LCTL),END );
- BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(W), U(LCTL), END );
- BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END );
- BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );
- BABLM( BABL_DEL_TO_LINE_START, D(LCTL), T(U), U(LCTL), END );
-#ifndef BABL_MOVEMENTONLY
- BABLM( BABL_UNDO , D(LALT), T(R), U(LALT) , END );
- BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably
- BABLM( BABL_CUT , D(LCTL), T(K), U(LCTL), END ); // wrong half the time
- //BABLM( BABL_COPY ,END );
- BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END );
- BABLM( BABL_SELECT_ALL , D(LCTL), T(A), T(K), T(Y), U(LCTL) , END );
- BABLM( BABL_FIND , D(LCTL), T(R), U(LCTL), END ); // search history
- BABLM(BABL_FIND_NEXT, D(LCTL), T(S), U(LCTL), END );
- //BABLM( BABL_FIND_REPLACE ,END );
- BABLM( BABL_RUNAPP , D(LCTL), T(B), U(LCTL), T(C),END ); //tmux
- BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(B), U(LCTL), T(N),END ); //tmux
- BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(B), U(LCTL), T(P),END ); //tmux
- BABLM( BABL_CLOSE_APP , D(LCTL), T(B), U(LCTL), T(D),END); // usually what I want
- // BABLM( BABL_HELP ,END );
-#ifndef BABL_NOBROWSER
-/* Add lynx shortcuts?
- BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
- BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
- BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
- BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
- BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
- BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
- BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
- BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
- BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
- BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
- //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
- BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
- // Chrome
- BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
- BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
- BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END );
- BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
-*/
-#endif
-#endif
-
- return MACRO_NONE;
-
-#endif
-
- default:
- return MACRO_NONE;
- }
-
-}
-
-
-#endif
diff --git a/keyboards/handwired/ms_sculpt_mobile/babblePaste.h b/keyboards/handwired/ms_sculpt_mobile/babblePaste.h
deleted file mode 100644
index 1e8206212a..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/babblePaste.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/* A library to output the right key shortcut in any common app.
-Given a global variable babble_mode to show the environment and a
-key that calls the paste macro, do the right type of paste.
-
-Setting the bable_mode is done by another macro, or TBD interaction with the host.
-
-Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
-and jeebak & algernon's keymap
-*/
-#ifndef _babblePaste_h_included__
-#define _babblePaste_h_included__
-#include "config.h"
-#include "action_layer.h"
-#include "quantum_keycodes.h"
-
-#ifdef USE_BABLPASTE
-
-/* ***************************
-
-// Uncomment any modes you want. Whatever mode = 0 will be the default on boot
-// Expect to get errors if you comment a feature out and leave it in your keymap.
-
-#define USE_BABLPASTE
-
-//#define MS_MODE 0 // Windows.
-//#define MAC_MODE 1
-//#define LINUX_MODE 2 //aka gnome+KDE
-//#define EMACS_MODE 3
-//#define VI_MODE 4
-//#define WORDSTAR_MODE 5
-//#define READMUX 6 // Readline and tmux
-
-// This removes everything but cursor movement
-//#define BABL_MOVEMENTONLY
-// and this just removes browser shortcuts
-//#define BABL_NOBROWSER
-****************************/
-
-
-// Uncomment if you need more free flash space
-// It removes everything but cursor movement
-//#define BABL_MOVEMENTONLY
-
-
-// Define starting number for BABL macros in the macro range.
-// Probably can start the default even lower
-#define BABL_START_NUM 50
-
-/* Macros handled by babblepaste. Most should be available for all platforms.
-Whatever isn't defined will NOP */
-enum {
-// Movement macros
- // left & right
- BABL_GO_LEFT_1C= BABL_START_NUM,
- BABL_GO_RIGHT_1C,
- BABL_GO_LEFT_WORD,
- BABL_GO_RIGHT_WORD,
- BABL_GO_START_LINE,
- BABL_GO_END_LINE,
- // now up & down
- BABL_GO_START_DOC,
- BABL_GO_END_DOC,
- BABL_GO_NEXT_LINE,
- BABL_GO_PREV_LINE,
- BABL_PGDN,
- BABL_PGUP,
- // And the delete options
- //BABL_DEL_LEFT_1C == backspace, so why bother.
- BABL_DEL_RIGHT_1C, // usually = Del
- BABL_DEL_LEFT_WORD,
- BABL_DEL_RIGHT_WORD,
- BABL_DEL_TO_LINE_END, // delete from cursor to end of line
- BABL_DEL_TO_LINE_START, // delete from cursor to begining line
-#ifndef BABL_MOVEMENTONLY
- // Cut & Paste
- BABL_UNDO,
- BABL_REDO,
- BABL_CUT,
- BABL_COPY,
- BABL_PASTE,
- BABL_SELECT_ALL,
- /* not yet implemented
- BABL_SWAP_LAST2C // swap last characters before the cursor
- BABL_SWAP_LAST2W // Swap the last two words before the cursor
- */
- // find & replace
- BABL_FIND,
- BABL_FIND_NEXT,
- BABL_FIND_REPLACE,
- // GUI or app
- BABL_RUNAPP,
- BABL_SWITCH_APP_NEXT,
- BABL_SWITCH_APP_LAST, // previous
- BABL_CLOSE_APP,
- BABL_HELP,
-
-#ifndef BABL_NOBROWSER
- BABL_BROWSER_NEW_TAB,
- BABL_BROWSER_CLOSE_TAB,
- BABL_BROWSER_REOPEN_LAST_TAB,
- BABL_BROWSER_NEXT_TAB,
- BABL_BROWSER_PREV_TAB,
- BABL_BROWSER_URL_BAR,
- BABL_BROWSER_FORWARD,
- BABL_BROWSER_BACK,
- BABL_BROWSER_FIND,
- BABL_BROWSER_BOOKMARK,
- BABL_BROWSER_DEV_TOOLS, // hard one to remember
- BABL_BROWSER_RELOAD,
- BABL_BROWSER_FULLSCREEN,
- BABL_BROWSER_ZOOM_IN,
- BABL_BROWSER_ZOOM_OUT,
-
-#endif
-
-#endif
-// Macros for mode switching
-#ifdef MS_MODE
- BABL_WINDOWS,
-#endif
-#ifdef MAC_MODE
- BABL_MAC,
-#endif
-#ifdef LINUX_MODE
- BABL_LINUX,
-#endif
-#ifdef EMACS_MODE
- BABL_EMACS,
-#endif
-#ifdef VI_MODE
- BABL_VI,
-#endif
-#ifdef READMUX_MODE
- BABL_READLINE,
-#endif
-
-
-};
-
-// BUG, used to jump to babble functiion. Surely there is a way to calculate size of enum?
-#define BABL_NUM_MACROS 48+4 // 48 + # of defined modes.
-
-/* And all the shorthand keymap ready versions */
-// First the mode switching macros
-#ifdef MS_MODE
-#define B_WIN M(BABL_WINDOWS)
-#endif
-#ifdef MAC_MODE
-#define B_MAC M(BABL_MAC)
-#endif
-#ifdef LINUX_MODE
-#define B_LNX M(BABL_LINUX)
-#endif
-#ifdef EMACS_MODE
-#define B_EMAX M(BABL_EMACS)
-#endif
-#ifdef VI_MODE
-#define B_VI M(BABL_VI)
-#endif
-#ifdef READMUX_MODE
-#define B_READ M(BABL_READLINE)
-#endif
-
-// and all the movement & action.
-
-#define B_L1C M(BABL_GO_LEFT_1C)
-#define B_R1C M(BABL_GO_RIGHT_1C)
-#define B_L1W M(BABL_GO_LEFT_WORD)
-#define B_R1W M(BABL_GO_RIGHT_WORD)
-#define B_GSOL M(BABL_GO_START_LINE)
-#define B_GEOL M(BABL_GO_END_LINE)
-#define B_GTOP M(BABL_GO_START_DOC)
-#define B_GEND M(BABL_GO_END_DOC)
-#define B_DOWN M(BABL_GO_NEXT_LINE)
-#define B_UP M(BABL_GO_PREV_LINE)
-#define B_PGDN M(BABL_PGDN)
-#define B_PGUP M(BABL_PGUP)
-//#define B_BKSP M(BABL_DEL_LEFT_1C) == backspace so why bother.
-#define B_DEL M(BABL_DEL_RIGHT_1C) // usually = Del
-#define B_DLW M(BABL_DEL_LEFT_WORD)
-#define B_DRW M(BABL_DEL_RIGHT_WORD)
-#define B_DEOL M(BABL_DEL_TO_LINE_END) // delete from cursor to end of line
-#define B_DSOL M(BABL_DEL_TO_LINE_START) // delete from cursor to begining line
-#define B_UNDO M(BABL_UNDO)
-#define B_REDO M(BABL_REDO)
-#define B_CUT M(BABL_CUT)
-#define B_COPY M(BABL_COPY)
-#define B_PAST M(BABL_PASTE)
-#define B_SELA M(BABL_SELECT_ALL)
-#define B_FIND M(BABL_FIND)
-#define B_FINDN M(BABL_FIND_NEXT)
-#define B_FINDR M(BABL_FIND_REPLACE)
-#define B_RAPP M(BABL_RUNAPP)
-#define B_NAPP M(BABL_SWITCH_APP_NEXT)
-#define B_PAPP M(BABL_SWITCH_APP_LAST) // previous
-#define B_CAPP M(BABL_CLOSE_APP)
-#define B_HELP M(BABL_HELP)
-#define B_NTAB M(BABL_BROWSER_NEW_TAB)
-#define B_CTAB M(BABL_BROWSER_CLOSE_TAB)
-#define B_ROTB M(BABL_BROWSER_REOPEN_LAST_TAB)
-#define B_NXTB M(BABL_BROWSER_NEXT_TAB)
-#define B_PTAB M(BABL_BROWSER_PREV_TAB)
-#define B_NURL M(BABL_BROWSER_URL_BAR)
-#define B_BFWD M(BABL_BROWSER_FORWARD)
-#define B_BBAK M(BABL_BROWSER_BACK)
-#define B_BFND M(BABL_BROWSER_FIND)
-#define B_BOOK M(BABL_BROWSER_BOOKMARK)
-#define B_BDEV M(BABL_BROWSER_DEV_TOOLS) // hard one to remember
-#define B_BRLD M(BABL_BROWSER_RELOAD)
-#define B_BFUlL M(BABL_BROWSER_FULLSCREEN)
-#define B_ZMIN M(BABL_BROWSER_ZOOM_IN)
-#define B_ZMOT M(BABL_BROWSER_ZOOM_OUT)
-
-
-
-
-
-
-
-/* from action_macro.h
-typedef uint8_t macro_t;
-
-#define MACRO_NONE (macro_t*)0
-#define MACRO(...) ({ static const macro_t __m[] PROGMEM = { __VA_ARGS__ }; &__m[0]; })
-#define MACRO_GET(p) pgm_read_byte(p)
-
-#define BABL_MSTART (entry, os, macro...) ( const macro_t bablDict[entry][os] PROGMEM = { macro... }; )
-
-*/
-
-const macro_t *babblePaste(keyrecord_t *record, uint8_t shortcut);
-
-macro_t* switch_babble_mode( uint8_t id);
-
-
-#endif
-#endif
-
diff --git a/keyboards/handwired/ms_sculpt_mobile/babblePaste.txt b/keyboards/handwired/ms_sculpt_mobile/babblePaste.txt
deleted file mode 100644
index cf75e153e8..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/babblePaste.txt
+++ /dev/null
@@ -1,123 +0,0 @@
- BabblePaste is a library of common macros used to make sure that
-you can have one "paste" button on one layer, and it will do the
-right thing on any OS or app. Windows=Ctrl-V. Mac = Command-V and so on.
-
-The babblepaste library looks for the current status in a babble_mode global variable.
-To switch modes, run the switch_babble_mode() function, or a pre defined macro.
-Currently supported are Windows, OS X, Gnome/kde, Emacs, VI and readline,
-across 42+ common macro actions.
-
-
-###To use the library
-1) Paste the following into your config.h.
-
-//////Begin//////
-#define USE_BABLPASTE 1
-
-#ifdef USE_BABLPASTE
-/* define BabblePaste maps. Whatever = 0 will be the default. */
-// MAC_MODE 0
-// MS_MODE 1
-// LINUX_MODE 2
-// EMACS_MODE 3
-// VI_MODE 3
-// Readline and tmux
-// READMUX_MODE 2
-// WORDSTAR_MODE 5
-#endif
-
-// Uncomment these to remove options an free up flash space
-
-// This removes everything but cursor movement
-// BABL_MOVEMENTONLY
-// and this just removes browser shortcuts
-// BABL_NOBROWSER
-///////End///////
-
-2) Add the following to your keymap in the action_get_macro
-
-//////Begin//////
-#ifdef USE_BABLPASTE
-
- if( id >= BABL_START_NUM && id < (BABL_START_NUM + BABL_NUM_MACROS ) ) {
- if (record->event.pressed) { // is there a case where this isn't desired?
-
- babblePaste ( record, id );
- return MACRO_NONE;
- }
- }
-#endif
-///////End///////
-
-3) add Babbelpaste actions to your keymap. See the full list in babblePaste.h, or the
-list below
-B_L1C // go left 1 char
-B_R1C // go Right 1 char
- B_L1W //GO_LEFT_1 WORD
- B_R1W //BABL_GO_RIGHT_1 WORD
- B_GSOL // BABL_GOTO_START of _LINE
- B_GEOL // BABL_GOTO_END_LINE
- B_GTOP //BABL_GOTO_START_DOC
- B_GEND //BABL_GO_END_DOC
- B_DOWN //BABL_GO_NEXT_LINE
- B_UP // BABL_GO_PREV_LINE
- B_PGDN //PGDN
- B_PGUP //PGUP
-// B_BKSP //backspace so why bother.
- B_DEL // DEL_RIGHT_1 Char // usually = Del
- B_DLW // DEL_LEFT_ 1 WORD)
- B_DRW //DEL_RIGHT_1 WORD
- B_DEOL // delete from cursor to end of line
- B_DSOL // delete from cursor to begining line
- B_UNDO //UNDO
- B_REDO // REDO
- B_CUT // CUT)
- B_COPY // COPY)
- B_PAST // PASTE)
- B_SELA // SELECT_ALL
- B_FIND // FIND)
- B_FINDN //FIND_NEXT)
- B_FINDR // FIND_REPLACE)
- B_RAPP // open application launcher
- B_NAPP // switch to next app
- B_PAPP // switch to previous app
- B_CAPP // CLOSE_APP)
- B_HELP // HELP)
- B_NTAB // BROWSER_NEW_TAB)
- B_CTAB //BROWSER_CLOSE_TAB)
- B_ROTB //BROWSER_REOPEN_LAST_TAB)
- B_NXTB //BROWSER_NEXT_TAB)
- B_PTAB //BROWSER_PREV_TAB)
- B_NURL //BROWSER_jump to URL_BAR)
- B_BFWD // BROWSER_FORWARD (in history)
- B_BBAK //BROWSER_BACK (in history)
- B_BFND // BROWSER_FIND)
- B_BOOK //BROWSER_New BOOKMARK)
- B_BDEV //BROWSER_ Open DEV_TOOLS) // hard one to remember
- B_BRLD // BROWSER_RELOAD Page
- B_BFUlL // BROWSER_FULLSCREEN)
- B_ZMIN // BROWSER_ZOOM_IN)
- B_ZMOT //BROWSER_ZOOM_OUT)
-
-
-#### Development notes
--Why a new function? Because it would make the keymap too ugly to put it there.
--Why not return the macro to action_get_macro? Because I kept running into scope problems
-and pointers to the wrong type.
--Why not an array of arrays as a lookup instead of a function? That would allow you
-to store the lookup table in PROGMEM. True, but that takes more pre-processor skill
-than I had.
-
--Have you tested this on every platform? No. Submit a patch.
-
-
-### Next steps for someone.
-Make it easier to pair macros with modifiers. So key foo will jump to start of line, and
-Shift(foo) will jump to the first tab in a browser.
-
-## Thanks
-
-Thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
-and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c
-And of course QMK...
-
diff --git a/keyboards/handwired/ms_sculpt_mobile/config.h b/keyboards/handwired/ms_sculpt_mobile/config.h
deleted file mode 100644
index 6739b44fcf..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/config.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Microsoftplus
-#define DESCRIPTION 6000
-
-/* key matrix size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 18
-
-#ifdef ASTAR
-#define PRODUCT sculpt mobile astar
- /*0 1 2 3 4 5 6 7 8 */
-#define MATRIX_ROW_PINS {D7, C6, D4, D0, D1, D3, D2, E2}
-/* A B C D E F G H I J K L M N O P Q R */
-#define MATRIX_COL_PINS {B4, B5, E6, B7, B6, D6, C7, F7, F6, F4,F5, F1,F0, D5, B0, B1, B2, B3}
-
-#else
-#define PRODUCT sculpt mobile teensypp
-/* 0 1 2 3 4 5 6 7 */
-#define MATRIX_ROW_PINS { F7,F6,F4,F5,F3,F2,F1,F0}
-/* A B C D E F G H I J K L M N O P Q R */
-#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0,E1,C1, C0, C3, C2, C5, C4,C7}
-#define UNUSED_PINS { B6,B5,B4,B3,B2,B1,B0 }
-
-#endif
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/ms_sculpt_mobile/info.json b/keyboards/handwired/ms_sculpt_mobile/info.json
deleted file mode 100644
index 86d5fde2e3..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/info.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "keyboard_name": "MS Sculpt Mobile",
- "url": "",
- "maintainer": "qmk",
- "width": 16,
- "height": 6,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1, "y":0},
- {"label":"F2", "x":2, "y":0},
- {"label":"F3", "x":3, "y":0},
- {"label":"F4", "x":4, "y":0},
- {"label":"F5", "x":5, "y":0},
- {"label":"F6", "x":6, "y":0},
- {"label":"F7", "x":7, "y":0},
- {"label":"F8", "x":8, "y":0},
- {"label":"F9", "x":9, "y":0},
- {"label":"F10", "x":10, "y":0},
- {"label":"F11", "x":11, "y":0},
- {"label":"F12", "x":12, "y":0},
- {"label":"PrtSc", "x":13, "y":0},
- {"label":"Home", "x":14, "y":0},
- {"label":"End", "x":15, "y":0},
- {"label":"`", "x":0, "y":1},
- {"label":"1", "x":1, "y":1},
- {"label":"2", "x":2, "y":1},
- {"label":"3", "x":3, "y":1},
- {"label":"4", "x":4, "y":1},
- {"label":"5", "x":5, "y":1},
- {"label":"6", "x":6, "y":1},
- {"label":"7", "x":7, "y":1},
- {"label":"8", "x":8, "y":1},
- {"label":"9", "x":9, "y":1},
- {"label":"0", "x":10, "y":1},
- {"label":"-", "x":11, "y":1},
- {"label":"=", "x":12, "y":1},
- {"label":"Backspace", "x":13, "y":1, "w":2},
- {"label":"Del", "x":15, "y":1, "h":1.6},
- {"label":"Tab", "x":0, "y":2, "w":1.5},
- {"label":"Q", "x":1.5, "y":2},
- {"label":"W", "x":2.5, "y":2},
- {"label":"E", "x":3.5, "y":2},
- {"label":"R", "x":4.5, "y":2},
- {"label":"T", "x":5.5, "y":2},
- {"label":"Y", "x":6.5, "y":2},
- {"label":"U", "x":7.5, "y":2},
- {"label":"I", "x":8.5, "y":2},
- {"label":"O", "x":9.5, "y":2},
- {"label":"P", "x":10.5, "y":2},
- {"label":"[", "x":11.5, "y":2},
- {"label":"]", "x":12.5, "y":2},
- {"label":"\\", "x":13.5, "y":2, "w":1.5},
- {"label":"Caps Lock", "x":0, "y":3, "w":1.75},
- {"label":"A", "x":1.75, "y":3},
- {"label":"S", "x":2.75, "y":3},
- {"label":"D", "x":3.75, "y":3},
- {"label":"F", "x":4.75, "y":3},
- {"label":"G", "x":5.75, "y":3},
- {"label":"H", "x":6.75, "y":3},
- {"label":"J", "x":7.75, "y":3},
- {"label":"K", "x":8.75, "y":3},
- {"label":"L", "x":9.75, "y":3},
- {"label":";", "x":10.75, "y":3},
- {"label":"'", "x":11.75, "y":3},
- {"label":"Enter", "x":12.75, "y":3, "w":2.25},
- {"label":"PgUp", "x":15, "y":2.6, "h":1.2},
- {"label":"LShift", "x":0, "y":4, "w":2.25},
- {"label":"Z", "x":2.25, "y":4},
- {"label":"X", "x":3.25, "y":4},
- {"label":"C", "x":4.25, "y":4},
- {"label":"V", "x":5.25, "y":4},
- {"label":"B", "x":6.25, "y":4},
- {"label":"N", "x":7.25, "y":4},
- {"label":"M", "x":8.25, "y":4},
- {"label":",", "x":9.25, "y":4},
- {"label":".", "x":10.25, "y":4},
- {"label":"/", "x":11.25, "y":4},
- {"label":"RShift", "x":12.25, "y":4, "w":1.75},
- {"label":"Up", "x":14, "y":4},
- {"label":"PgDn", "x":15, "y":3.8, "h":1.2},
- {"label":"LCtrl", "x":0, "y":5, "w":1.25},
- {"label":"LWin", "x":1.25, "y":5, "w":1.25},
- {"label":"LAlt", "x":2.5, "y":5, "w":1.25},
- {"label":"Space", "x":3.75, "y":5, "w":5.5},
- {"label":"RAlt", "x":9.25, "y":5, "w":1.25},
- {"label":"Fn", "x":10.5, "y":5, "w":1.25},
- {"label":"RCtrl", "x":11.75, "y":5, "w":1.25},
- {"label":"Left", "x":13, "y":5},
- {"label":"Down", "x":14, "y":5},
- {"label":"Right", "x":15, "y":5}
- ]
- }
- }
-}
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
deleted file mode 100644
index d4d0f33e9c..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
-*
-* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|Mute|
-* -------------------------------------------------------------------------------'
-* | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del |
-* --------------------------------------------------------------------------
-* | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | |
-* -------------------------------------------------------------------------------'
-* | caps | a | s | d | f | g | h | j | k | l | ; | ' | enter |PgUp|
-* --------------------------------------------------------------------------------
-* |Lsft | z | x | c | v | b | n | m | , | . | / | Rsft| Up| PgDn|
-* ---------------------------------------------------------------------------------
-* |Lctl |Lgui |Lalt | Space |Ralt | FN | Rctl |Left|Down|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 \
- )
-};
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/readme.md b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/readme.md
deleted file mode 100644
index 91575f7cd5..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for Microsoft Sculpt Mobile
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk
deleted file mode 100644
index 3955a3ff42..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/config.h b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/config.h
deleted file mode 100644
index 9d6be063e2..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#pragma once
-
-#define USE_BABLPASTE
-
-// Expect to get errors if you comment a feature out and leave it in your keymap.
-
-#ifdef USE_BABLPASTE
-//define BabblePaste maps
-// Windows.
-#define MAC_MODE 0
-#define MS_MODE 1
-//aka gnome+KDE
-//#define LINUX_MODE 2
-//#define EMACS_MODE 3
-#define VI_MODE 3
-// Readline and tmux
-#define READMUX_MODE 2
-//#define WORDSTAR_MODE 5
-#endif
-
-// Uncomment if you need more free flash space
-
-// This removes everything but cursor movement
-//#define BABL_MOVEMENTONLY
-// and this just removes browser shortcuts
-//#define BABL_NOBROWSER
-
-// place overrides here
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/keymap.c b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/keymap.c
deleted file mode 100644
index c5ed18797f..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/keymap.c
+++ /dev/null
@@ -1,266 +0,0 @@
-#include "babblePaste.h"
-#include QMK_KEYBOARD_H
-
-#define _QWR 0
-#define _CDH 2
-#define _SYM 3
-#define _MOV 4
-#define _TRAN 5
-
-
-enum layer_keycodes {
-QWR,
-CDH,
-SYM,
-MOV,
-NUM,
-TRAN
-};
-
-
-// Shorter spacing
-#define XXXX KC_NO
-#define ____ KC_TRNS
-
-// Custom macros
-
-/* Fn Keys */
-#define TT_SYM MO(_SYM)
-#define TT_MOV KC_FN2
-#define TT_NUM MO(_NUM)
-#define SSFT ACTION_MODS_ONESHOT(MOD_LSFT)
-
-enum macro_keycodes {
-DHPASTE=1,
-VIBRK,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* QWERTY
-*
-* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|_CDH|
-* -------------------------------------------------------------------------------'
-* | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del|
-* ---------------------------------------------------------------------------
-* | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | |
-* -------------------------------------------------------------------------------'
-* |Bak/Mov| a | s | d | f | g | h | j | k | l | ; | ' | enter |PgUp|
-* --------------------------------------------------------------------------------
-* |Lsft | z | x | c | v | b | n | m | , | . | / | Rsft| Up| PgDn|
-* ---------------------------------------------------------------------------------
-* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght|
-* ---------------------------------------------------------------------------------
-*/
-
-[_QWR] = 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, CDH,\
- KC_ESC, KC_1, KC_2, KC_3 ,KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_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,\
- TT_MOV, KC_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_FN1, KC_RGUI,TT_SYM,KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
-),
-
-[_CDH] = LAYOUT(\
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, QWR, \
- KC_ESC, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, ____, ____, ____,\
- TT_MOV, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_2,\
- KC_LSFT, KC_Z, KC_X, KC_C, M(DHPASTE), KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ____, KC_1,\
- ____, ____, ____ , KC_FN1, ____, ____, ____, ____, ____, ____
-
-),
-
-
-/* SYM
-*
-* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|_CDH|
-* -------------------------------------------------------------------------------'
-* | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace|Del |
-* --------------------------------------------------------------------------
-* | ESC: | ^ | { | } | @ | % | | [ | ( | ) | _ | [ | ] | \ | |
-* -------------------------------------------------------------------------------'
-* |Bak/Mov| ! | # | 0 | = | { | } | - | 1 | + | ] | ` | enter |PgUp|
-* --------------------------------------------------------------------------------
-* |Lsft | ; | ~ | : | ~ | "|"| $ | * | | . | / | Rsft| Up| PgDn|
-* ---------------------------------------------------------------------------------
-* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght|
-* ---------------------------------------------------------------------------------
-*/
-
-[_SYM] = LAYOUT(\
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- M(VIBRK), KC_CIRC, KC_LCBR, KC_RCBR,KC_AT, KC_PERC, ____, KC_LBRC,KC_LPRN,KC_RPRN,KC_UNDS, ____, ____, ____,\
- ____, KC_EXLM, KC_HASH, KC_0, KC_EQL, KC_LCBR, KC_RCBR,KC_MINS,KC_1, KC_PLUS,KC_RBRC, KC_GRV, ____, ____,\
- ____, KC_SCLN, KC_TILDE, KC_COLN, KC_TILDE, KC_PIPE, KC_DLR, KC_ASTR, ____, KC_DOT , KC_SLSH, ____, ____, ____,\
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
-),
-/*
-* |ESC | MAC| Win|RdLn| VI | | | | | | | | | | | |
-* -------------------------------------------------------------------------------'
-* | | | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del|
-* ---------------------------------------------------------------------------
-* | tab | | |Find| |pTab |DSOL|DelW| Up |DelW|DEOL| [ | ] | \ | |
-* -------------------------------------------------------------------------------'
-* |Bak/Mov| | | | |nTab |GSOL| <- | Dwn | -> | EOL | ' | enter |PgUp|
-* --------------------------------------------------------------------------------
-* |Lsft |Undo| Cut|Copy|Pste| | | | | | / | Rsft| Up| PgDn|
-* ---------------------------------------------------------------------------------
-* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght|
-* ---------------------------------------------------------------------------------
-*/
-
-[_MOV] = LAYOUT(\
- ____, B_MAC,B_WIN,B_READ, B_VI, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, B_PAPP, B_NAPP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, B_UNDO, ____, B_BFND, ____, B_PTAB, B_DSOL, B_DLW, B_UP, B_DRW, B_DEOL, ____, ____, ____, \
- ____, B_SELA, B_BRLD, ____, ____, B_NXTB, B_GSOL, B_L1C, B_DOWN, B_R1C,B_GEOL, ____, ____, ____,\
- ____, B_UNDO,B_CUT, B_COPY, B_PAST, B_PAST, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
-),
-
-[_TRAN] = LAYOUT(\
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
- ____, ____, ____, ____, ____, ____, ____, ____, ____, ____
-)
-};
-
-const uint16_t PROGMEM fn_actions[] = {
-[1] = ACTION_LAYER_TAP_KEY(_SYM,KC_SPACE),
-[2] = ACTION_LAYER_TAP_KEY(_MOV,KC_BSPC)
-};
-
-#ifdef AUDIO_ENABLE
-
-float tone_startup[][2] = SONG(STARTUP_SOUND);
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-#endif
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWR:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- layer_off(_CDH);
- }
- return false;
- break;
-
- case CDH:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- layer_on(_CDH);
- }
- return false;
- break;
-
- case SYM:
- if (record->event.pressed) {
- layer_on(_SYM);
- } else {
- layer_off(_SYM);
- }
- return false;
- break;
-
- }
- return true;
-
-}
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
-
-/* If id is in the range of BABL macros, call the babl function */
-/* Any clever remapping with modifiers should happen here e.g. shift bablkey does opposite*/
-#ifdef USE_BABLPASTE
-
- if( id >= BABL_START_NUM && id < (BABL_START_NUM + BABL_NUM_MACROS ) ) {
- if (record->event.pressed) { // is there a case where this isn't desired?
-
- babblePaste ( record, id );
- return MACRO_NONE;
- }
- }
-#endif
-
-
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- } else {
- unregister_code(KC_RSFT);
- }
- break;
-
- /* Colemak mod-dh moves the D key to the qwerty V position
- This hack makes apple-V_position do what I mean */
- case DHPASTE:
- if(keyboard_report->mods & MOD_BIT(KC_LGUI) ) {
- if (record->event.pressed) {
- clear_keyboard_but_mods();
- register_code(KC_V);
- } else {
- unregister_code(KC_V);
- }
- } else {
- if (record->event.pressed) {
- register_code(KC_D);
- } else {
- unregister_code(KC_D);
- }
- }
- break;
-
- case VIBRK: // vi esc:
- if (record->event.pressed) {
- return MACRO( T(ESC),D(LSFT),T(SCLN),U(LSFT), END );
- }
- break;
-
-
-
-
- default:
- return MACRO_NONE;
- }
-
-
-return MACRO_NONE;
-};
-
-
-
-
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-
-}
-
-
-void led_set_user(uint8_t usb_led) {
-
-}
-
-
-
-
-
-
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/readme.md b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/readme.md
deleted file mode 100644
index 3cb1380d1c..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# A more programmer oriented keymap for Microsoft Sculpt Mobile
diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk
deleted file mode 100644
index ddfea82556..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.c b/keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.c
deleted file mode 100644
index 53773e5d85..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "ms_sculpt_mobile.h"
diff --git a/keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.h b/keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.h
deleted file mode 100644
index cfa07c92ef..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/ms_sculpt_mobile.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef MICROSOFT_SCULPT_MOBILE_H
-#define MICROSOFT_SCULPT_MOBILE_H
-
-#include "quantum.h"
-
-
-#define LAYOUT( \
- k7Q, k6O, k6P, k6Q, k5O, k5P, k5Q, k7A, k7B, k7C, k7D, k7E, k7F, k1O, k1K, k1L, \
- k5A, k5K, k5L, k5M, k5N, k5H, k5I, k2A, k2B, k2C, k2D, k5B, k5C, k5J, k2E, \
- k6R, k6D, k6E, k6F, k7I, k7J, k4A, k4B, k4C, k4D, k3A, k3B, k3C, k3D, \
- k0J, k6A, k6B, k6C, k7H, k1A, k1B, k5D, k5E, k5F, k5G, k1C, k7P, k2G, \
- k2P, k7K, k7L, k7M, k7O, k0A, k0B, k0C, k0D, k0E, k0F, k2L, k6G, k1P,\
- k1Q, k4N, k3O,k6N, k3K, k0R, k1M, k6H, k6I, k6J \
-) \
-{ \
- {k0A, k0B, k0C, k0D, k0E, k0F, KC_NO, KC_NO, KC_NO, k0J, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC_NO, KC_NO, k0R},\
- {k1A, k1B, k1C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k1K, k1L, k1M, KC_NO, k1O, k1P, k1Q, KC_NO},\
- {k2A, k2B, k2C, k2D, k2E, KC_NO, k2G, KC_NO, KC_NO, KC_NO, KC_NO, k2L, KC_NO, KC_NO, KC_NO, k2P, KC_NO, KC_NO},\
- {k3A, k3B, k3C, k3D, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k3K, KC_NO, KC_NO, KC_NO, k3O, KC_NO, KC_NO, KC_NO},\
- {k4A, k4B, k4C, k4D, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k4N, KC_NO,KC_NO, KC_NO, KC_NO},\
- {k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q, KC_NO },\
- {k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6J, KC_NO, KC_NO, KC_NO, k6N, k6O, k6P, k6Q, k6R},\
- {k7A, k7B, k7C, k7D, k7E, k7F, KC_NO, k7H, k7I, k7J, k7K, k7L, k7M, KC_NO, k7O, k7P, k7Q, KC_NO},\
-}
-
-
-#define MATRIX_TESTING_LAYOUT( \
- k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0, k0J, k0K, k0L, k0M, k0N, k0O, k0P, k0Q,\
- k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1, k1J, k1K, k1L, k1M, k1N, k1O, k1P, k1Q,\
- k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2, k2J, k2K, k2L, k2M, k2N, k2O, k2P, k2Q,\
- k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3I, k3, k3J, k3K, k3L, k3M, k3N, k3O, k3P, k3Q,\
- k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4, k4J, k4K, k4L, k4M, k4N, k4O, k4P, k4Q,\
- k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q,\
- k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6, k6J, k6K, k6L, k6M, k6N, k6O, k6P, k6Q,\
- k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H, k7I, k7, k7J, k7K, k7L, k7M, k7N, k7O, k7P, k7Q\
-) \
-{ \
- {k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0, k0J, k0K, k0L, k0M, k0N, k0O, k0P, k0Q},\
- {k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1, k1J, k1K, k1L, k1M, k1N, k1O, k1P, k1Q},\
- {k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2, k2J, k2K, k2L, k2M, k2N, k2O, k2P, k2Q},\
- {k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3I, k3, k3J, k3K, k3L, k3M, k3N, k3O, k3P, k3Q},\
- {k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4, k4J, k4K, k4L, k4M, k4N, k4O, k4P, k4Q},\
- {k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q},\
- {k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6, k6J, k6K, k6L, k6M, k6N, k6O, k6P, k6Q},\
- {k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H, k7I, k7, k7J, k7K, k7L, k7M, k7N, k7O, k7P, k7Q},\
-}
-
-#endif
diff --git a/keyboards/handwired/ms_sculpt_mobile/readme.md b/keyboards/handwired/ms_sculpt_mobile/readme.md
deleted file mode 100644
index 98fd1f8d1a..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/readme.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# Microsoft Sculpt Mobile
-
-This is a way to take a Microsoft ergonomic bluetooth keyboard, and make it
-into a hard-wired keyboard running QMK.
-
-The keyboard is known under several different names:
-Mobile Bluetooth 5000, Mobile 6000, Sculpt mobile, and Asus rebranded.
-
-I had a stack of them, since they're cheap on ebay, travel well, and are just ergo enough.
-
-The ribbon cable is 1mm pitch, which is hard to hand solder. I bought a cheap set of
-"pitch adapter" boards https://www.amazon.com/Double-Sided-0-4mm-1-0-Adapter-60mmx38mm/dp/B00OK42118
-
-Cut the original ribbon cable sockets off the bluetooth board using a razor, they're hard to desolder.
-They're also allow the cable to be inserted on top or bottom.
-
-If I was going to do it again, I'd make the MCU connection come out the top of the keyboard
-and avoid the wires dangling out the bottom.
-
-As I was debugging the matrix, I started to get random failures. In desparation I tried a second MCU,
-but had the same problems. It turns out that the ribbon cable connections can get worn. Shave a
-half millimeter off the end of the ribbon cable & the errors go away.
-
-My method for discovering the matrix was to set up a LAYOUT macro that included all pins.
-See MATRIX_TESTING_LAYOUT if you need it. Then set up a keymap that has all printable symbols
-in the first 4 rows. test each key & record output. Then switch the printable symbols to the
-bottom 4 rows & repeat. This was enough to show the matrix.
-
-
-The full original keymap for the Sculpt is
-
-| | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R |
-|:-:|:--:|:--:|:--:|:---:|:---:|:---:|:----:|:----:|:----:|:-----:|:----:|:------:|:----:|:-----:|:----:|:------:|:----:|:---:|
-| 0 | b | n | m | , | . | / | | | | Caps | | | | | | | | Fn |
-| 1 | g | h | " | | | | | | | | Vol+ | Mute | RCtl | | Vol- | PgDn | LCtl | |
-| 2 | 7 | 8 | 9 | 0 | Del | | PgUp | | | | | RShift | | | | LShift | | |
-| 3 | p | [ | ] | \ | | | | | | | RAlt | | | | LAlt | | | |
-| 4 | y | u | i | o | | | | | | | | | | LGUI | | | | |
-| 5 | ~ | - | += | j | k | l | ; | 5 | 6 | Bksp | 1 | 2 | 3 | 4 | F4 | F5 | F6 | |
-| 6 | a | s | d | q | w | e | Up | Left | Down | Right | | | | Space | F1 | F2 | F3 | Tab |
-| 7 | F7 | F8 | F9 | F10 | F11 | F12 | | f | r | t | z | x | c | | v | Enter | Esc | |
-
-This works with 18 cols + 8 rows on a Teensy++, or ARM-based Teensy.
-
-The Astar mini has all pins exposed , so you can do 18x8
-If you want a speaker, LEDs, etc., you'll need to free up a pin. I recommend joining columns
-R and L to the same pin.
-
-Building - add ASTAR=1 to the compile line or leave out for teensy2++
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/ms_sculpt_mobile: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/ms_sculpt_mobile/rules.mk b/keyboards/handwired/ms_sculpt_mobile/rules.mk
deleted file mode 100644
index 680c057d36..0000000000
--- a/keyboards/handwired/ms_sculpt_mobile/rules.mk
+++ /dev/null
@@ -1,56 +0,0 @@
-
-## Project specific files
-SRC= babblePaste.c
-
-
-ifdef ASTAR
- CFLAGS=-D ASTAR
- MCU = atmega32u4
- SCULPT_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done ; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-
-else
- MCU = at90usb1286
- SCULPT_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
-endif
-
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-ifdef ASTAR
- BOOTLOADER = caterina
-else
- BOOTLOADER = atmel-dfu
-endif
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-
-
-USB = /dev/cu.usbmodem14141
-
-
-
-# upload: build
-# $(SCULPT_UPLOAD_COMMAND)
diff --git a/keyboards/handwired/nicekey/config.h b/keyboards/handwired/nicekey/config.h
deleted file mode 100644
index 4af56cc528..0000000000
--- a/keyboards/handwired/nicekey/config.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright 2015 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Lukas
-#define PRODUCT nicekey
-#define DESCRIPTION a compliment one key keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-#define MATRIX_COL_PINS { C6 }
-#define MATRIX_ROW_PINS { B6 }
-#define UNUSED_PINS
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/nicekey/keymaps/default/keymap.c b/keyboards/handwired/nicekey/keymaps/default/keymap.c
deleted file mode 100644
index 139ea6a3be..0000000000
--- a/keyboards/handwired/nicekey/keymaps/default/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- RANDOM_STRING_MACRO = SAFE_RANGE
-};
-
-const int delay = 100;
-const char *sentences[] = {
- "I hope you have a great day!\n",
- "You are an awesome person.\n",
- "I wish I knew you better, you seem nice!\n",
- "Your views restore my faith in humanity\n",
- "You are as cool as a norm-critical disney princess\n",
- "You have impeccable manners.\n",
- "You are making me smile\n",
- "You are making a difference\n",
- "You bring out the best in other people\n",
- "You are all that and a super-size bag of chips.\n",
- "You are not someone I pretend to not see in public.\n",
- "Are you a beaver, because damn.\n",
- "I bet you make babies smile.\n",
- "You are awkward, in a cute way. Like an elevator ride, but with puppies.\n",
- "Looking like a complete idiot with you is really fun.\n",
- "If you cooked something really bad, I would tell you instead of eating it.\n",
- "I love how passionate you are about your hobby.\n",
- "Our conversations always make me feel better.\n",
- "It is amazing how far out of your way you go to help people.\n",
- "I am so glad that you wrote something here.\n",
- "Hey you! How nice to see a friendly person in my feed!\n",
- "I hope we know each other for a long time.\n",
- "I bet if Britney Spears knew you, 2008 would have gone a lot differently.\n",
- "I would trust you with my passwords.\n",
- "You are a great problem solver\n",
- "I would love to hear you laugh!\n",
- "Please, have a monologue about your week, I just want to listen to you!\n",
- "You are very far from being Trump.\n",
- "I think my dog might like you more than me\n",
- "I feel like you would be a great person to do a group project with\n",
- "I bet animals love you\n",
- "I bet even Kanye would like you more than himself\n",
- "You are just doing a great job at life\n",
- "I like how you are challenging me.\n",
- "You would do be a great mother!\n",
- "I... Baked bread for you.\n",
- "Wow. You.\n",
- "You would not have let that balrog pass!\n",
- "Thank you.\n",
- "You would be standing out in a crowd\n",
- "Your sense of style is amazing.\n",
- "You have a beautiful mind.\n",
- "I like that big juicy brain of yours\n",
- "I would share my cinnamon bun with you\n",
- "I like you more than i like my moms apple pie\n",
- "You give me the same feeling as a summers night\n",
- "I enjoy you more than the click of my mechanical switch\n",
- "I would let you pop my bubble wrap\n",
- "Being near you is like being inside of a poem\n"
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- int sentences_size = sizeof(sentences) / sizeof(sentences[0]);
- int i = rand() % sentences_size;
- switch(keycode) {
- case RANDOM_STRING_MACRO:
- send_string_with_delay(sentences[i], delay);
- return false;
- }
- }
- return true;
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT( RANDOM_STRING_MACRO )
-};
diff --git a/keyboards/handwired/nicekey/nicekey.c b/keyboards/handwired/nicekey/nicekey.c
deleted file mode 100644
index 9720b0d0cb..0000000000
--- a/keyboards/handwired/nicekey/nicekey.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "nicekey.h"
diff --git a/keyboards/handwired/nicekey/nicekey.h b/keyboards/handwired/nicekey/nicekey.h
deleted file mode 100644
index ee5bcfd6be..0000000000
--- a/keyboards/handwired/nicekey/nicekey.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef NICEKEY_H
-#define NICEKEY_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00 \
- ) { \
- { k00 } \
-}
-
-#endif
diff --git a/keyboards/handwired/nicekey/readme.md b/keyboards/handwired/nicekey/readme.md
deleted file mode 100644
index e108b38dd1..0000000000
--- a/keyboards/handwired/nicekey/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# nicekey handwired
-
-![The first NiceKey](https://s3.eu-central-1.amazonaws.com/mindlevel/nicekey.jpg)
-
-
-Custom handwired nicekey, a one key keyboard that writes random compliments.
-
-Keyboard Maintainer: [spydon](https://github.com/spydon)
-Hardware Supported: Custom handwired one key
-Hardware Availability:
-
-Switch must be connected to pins C6 and B6.
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/nicekey: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/nicekey/rules.mk b/keyboards/handwired/nicekey/rules.mk
deleted file mode 100644
index cfa693a73b..0000000000
--- a/keyboards/handwired/nicekey/rules.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA \ No newline at end of file
diff --git a/keyboards/handwired/not_so_minidox/config.h b/keyboards/handwired/not_so_minidox/config.h
deleted file mode 100644
index fc6068628d..0000000000
--- a/keyboards/handwired/not_so_minidox/config.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x3060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER mtdjr
-#define PRODUCT Not So MiniDox
-#define DESCRIPTION A larger version of the MiniDox
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 6
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// wiring of each half
-#define MATRIX_ROW_PINS { D7, E6, B4, B5 }
-#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, D4 }
-
-#define USE_SERIAL
-
-//#define EE_HANDS
-
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-// #define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 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 debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/not_so_minidox/i2c.c b/keyboards/handwired/not_so_minidox/i2c.c
deleted file mode 100644
index 084c890c40..0000000000
--- a/keyboards/handwired/not_so_minidox/i2c.c
+++ /dev/null
@@ -1,162 +0,0 @@
-#include <util/twi.h>
-#include <avr/io.h>
-#include <stdlib.h>
-#include <avr/interrupt.h>
-#include <util/twi.h>
-#include <stdbool.h>
-#include "i2c.h"
-
-#ifdef USE_I2C
-
-// Limits the amount of we wait for any one i2c transaction.
-// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
-// 9 bits, a single transaction will take around 90μs to complete.
-//
-// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit
-// poll loop takes at least 8 clock cycles to execute
-#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8
-
-#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE)
-
-volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-static volatile uint8_t slave_buffer_pos;
-static volatile bool slave_has_register_set = false;
-
-// Wait for an i2c operation to finish
-inline static
-void i2c_delay(void) {
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWINT)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-
- // easier way, but will wait slightly longer
- // _delay_us(100);
-}
-
-// Setup twi to run at 100kHz
-void i2c_master_init(void) {
- // no prescaler
- TWSR = 0;
- // Set TWI clock frequency to SCL_CLOCK. Need TWBR>10.
- // Check datasheets for more info.
- TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
-}
-
-// Start a transaction with the given i2c slave address. The direction of the
-// transfer is set with I2C_READ and I2C_WRITE.
-// returns: 0 => success
-// 1 => error
-uint8_t i2c_master_start(uint8_t address) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTA);
-
- i2c_delay();
-
- // check that we started successfully
- if ( (TW_STATUS != TW_START) && (TW_STATUS != TW_REP_START))
- return 1;
-
- TWDR = address;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- if ( (TW_STATUS != TW_MT_SLA_ACK) && (TW_STATUS != TW_MR_SLA_ACK) )
- return 1; // slave did not acknowledge
- else
- return 0; // success
-}
-
-
-// Finish the i2c transaction.
-void i2c_master_stop(void) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
-
- uint16_t lim = 0;
- while(!(TWCR & (1<<TWSTO)) && lim < I2C_LOOP_TIMEOUT)
- lim++;
-}
-
-// Write one byte to the i2c slave.
-// returns 0 => slave ACK
-// 1 => slave NACK
-uint8_t i2c_master_write(uint8_t data) {
- TWDR = data;
- TWCR = (1<<TWINT) | (1<<TWEN);
-
- i2c_delay();
-
- // check if the slave acknowledged us
- return (TW_STATUS == TW_MT_DATA_ACK) ? 0 : 1;
-}
-
-// Read one byte from the i2c slave. If ack=1 the slave is acknowledged,
-// if ack=0 the acknowledge bit is not set.
-// returns: byte read from i2c device
-uint8_t i2c_master_read(int ack) {
- TWCR = (1<<TWINT) | (1<<TWEN) | (ack<<TWEA);
-
- i2c_delay();
- return TWDR;
-}
-
-void i2c_reset_state(void) {
- TWCR = 0;
-}
-
-void i2c_slave_init(uint8_t address) {
- TWAR = address << 0; // slave i2c address
- // TWEN - twi enable
- // TWEA - enable address acknowledgement
- // TWINT - twi interrupt flag
- // TWIE - enable the twi interrupt
- TWCR = (1<<TWIE) | (1<<TWEA) | (1<<TWINT) | (1<<TWEN);
-}
-
-ISR(TWI_vect);
-
-ISR(TWI_vect) {
- uint8_t ack = 1;
- switch(TW_STATUS) {
- case TW_SR_SLA_ACK:
- // this device has been addressed as a slave receiver
- slave_has_register_set = false;
- break;
-
- case TW_SR_DATA_ACK:
- // this device has received data as a slave receiver
- // The first byte that we receive in this transaction sets the location
- // of the read/write location of the slaves memory that it exposes over
- // i2c. After that, bytes will be written at slave_buffer_pos, incrementing
- // slave_buffer_pos after each write.
- if(!slave_has_register_set) {
- slave_buffer_pos = TWDR;
- // don't acknowledge the master if this memory loctaion is out of bounds
- if ( slave_buffer_pos >= SLAVE_BUFFER_SIZE ) {
- ack = 0;
- slave_buffer_pos = 0;
- }
- slave_has_register_set = true;
- } else {
- i2c_slave_buffer[slave_buffer_pos] = TWDR;
- BUFFER_POS_INC();
- }
- break;
-
- case TW_ST_SLA_ACK:
- case TW_ST_DATA_ACK:
- // master has addressed this device as a slave transmitter and is
- // requesting data.
- TWDR = i2c_slave_buffer[slave_buffer_pos];
- BUFFER_POS_INC();
- break;
-
- case TW_BUS_ERROR: // something went wrong, reset twi state
- TWCR = 0;
- default:
- break;
- }
- // Reset everything, so we are ready for the next TWI interrupt
- TWCR |= (1<<TWIE) | (1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
-}
-#endif
diff --git a/keyboards/handwired/not_so_minidox/i2c.h b/keyboards/handwired/not_so_minidox/i2c.h
deleted file mode 100644
index c15b6bc506..0000000000
--- a/keyboards/handwired/not_so_minidox/i2c.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef I2C_H
-#define I2C_H
-
-#include <stdint.h>
-
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-#define I2C_READ 1
-#define I2C_WRITE 0
-
-#define I2C_ACK 1
-#define I2C_NACK 0
-
-#define SLAVE_BUFFER_SIZE 0x10
-
-// i2c SCL clock frequency
-#define SCL_CLOCK 400000L
-
-extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-void i2c_master_init(void);
-uint8_t i2c_master_start(uint8_t address);
-void i2c_master_stop(void);
-uint8_t i2c_master_write(uint8_t data);
-uint8_t i2c_master_read(int);
-void i2c_reset_state(void);
-void i2c_slave_init(uint8_t address);
-
-
-static inline unsigned char i2c_start_read(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_READ);
-}
-
-static inline unsigned char i2c_start_write(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_WRITE);
-}
-
-// from SSD1306 scrips
-extern unsigned char i2c_rep_start(unsigned char addr);
-extern void i2c_start_wait(unsigned char addr);
-extern unsigned char i2c_readAck(void);
-extern unsigned char i2c_readNak(void);
-extern unsigned char i2c_read(unsigned char ack);
-
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
-
-#endif
diff --git a/keyboards/handwired/not_so_minidox/info.json b/keyboards/handwired/not_so_minidox/info.json
deleted file mode 100644
index 0222095024..0000000000
--- a/keyboards/handwired/not_so_minidox/info.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "keyboard_name": "Not So MiniDox",
- "url": "",
- "maintainer": "qmk",
- "width": 12,
- "height": 5.75,
- "layouts": {
- "LAYOUT": {
- "key_count": 42,
- "layout": [
- {"x":0, "y":0.375},
- {"x":1, "y":0.25},
- {"x":2, "y":0.125},
- {"x":3, "y":0},
- {"x":4, "y":0.125},
- {"x":5, "y":0.25},
-
- {"x":8, "y":0.25},
- {"x":9, "y":0.125},
- {"x":10, "y":0},
- {"x":11, "y":0.125},
- {"x":12, "y":0.25},
- {"x":13, "y":0.375},
-
- {"x":0, "y":1.375},
- {"x":1, "y":1.25},
- {"x":2, "y":1.125},
- {"x":3, "y":1},
- {"x":4, "y":1.125},
- {"x":5, "y":1.25},
-
- {"x":8, "y":1.25},
- {"x":9, "y":1.125},
- {"x":10, "y":1},
- {"x":11, "y":1.125},
- {"x":12, "y":1.25},
- {"x":13, "y":1.375},
-
- {"x":0, "y":2.375},
- {"x":1, "y":2.25},
- {"x":2, "y":2.125},
- {"x":3, "y":2},
- {"x":4, "y":2.125},
- {"x":5, "y":2.25},
-
- {"x":8, "y":2.25},
- {"x":9, "y":2.125},
- {"x":10, "y":2},
- {"x":11, "y":2.125},
- {"x":12, "y":2.25},
- {"x":13, "y":2.375},
-
- {"x":3.5, "y":4.75},
- {"x":4.5, "y":4.75},
- {"x":5.5, "y":3.75, "h":2},
-
- {"x":7.5, "y":3.75, "h":2},
- {"x":8.5, "y":4.75},
- {"x":9.5, "y":4.75}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c b/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c
deleted file mode 100644
index 9e89611631..0000000000
--- a/keyboards/handwired/not_so_minidox/keymaps/default/keymap.c
+++ /dev/null
@@ -1,117 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _LOWER 1
-#define _RAISE 2
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-#define KC_LOWR LOWER
-#define KC_RASE RAISE
-#define KC_RST RESET
-#define KC_CAD LCTL(LALT(KC_DEL))
-
-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_BSPC,
-// |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT,
-// |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, KC_ENT,
-// '-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------'
- KC_LGUI,KC_LOWR, KC_SPC, KC_SPC,KC_RASE,KC_RALT
- // `-------+-------+-------` `-------+-------+-------`
- ),
-
- [_LOWER] = LAYOUT(
-// ,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
-// |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- _______,_______,_______,_______,_______,_______, _______,_______,_______,KC_LCBR,KC_RCBR,KC_BSLS,
-// |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
-// '-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------'
- _______,_______,_______, _______,_______,_______
- // `-------+-------+-------` `-------+-------+-------`
- ),
-
- [_RAISE] = LAYOUT(
- // ,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
- KC_GRV,KC_EXLM, KC_AT,KC_HASH, KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN, KC_DEL,
- // |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- _______,_______,_______,_______,KC_MINS, KC_EQL, _______, KC_UP,_______,KC_LBRC,KC_RBRC,KC_PIPE,
- // |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- _______,_______,_______,_______,_______,_______, KC_LEFT,KC_DOWN,KC_RGHT,_______,_______,_______,
- // '-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------'
- _______,_______,_______, _______,_______,_______
- // `-------+-------+-------` `-------+-------+-------`
- ),
- [_ADJUST] = LAYOUT(
-// ,-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------.
- _______,_______,_______,_______, KC_RST,_______, _______,_______,_______,_______,_______, KC_CAD,
-// |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
-// |-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------|
- _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
-// '-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------'
- _______,_______,_______, _______,_______,_______
- // `-------+-------+-------` `-------+-------+-------`
- )
-};
-
-
-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 LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case ADJUST:
- if (record->event.pressed) {
- layer_on(_ADJUST);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_ADJUST);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- }
- return true;
-}
diff --git a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h b/keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h
deleted file mode 100644
index 701c2cf353..0000000000
--- a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include QMK_KEYBOARD_CONFIG_H
-
-#define SOLENOID_ENABLE
-#define SOLENOID_PIN F6
-#define SOLENOID_ACTIVE true
-
-#endif
diff --git a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c b/keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c
deleted file mode 100644
index 01c64d8701..0000000000
--- a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "mtdjr.h"
-
-extern keymap_config_t keymap_config;
-
-#define KC_LOCK TD(TD_ALTLOCK)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_kc(
- // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----,
- TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT,
- // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----|
- LGUI, LOWR, SPC, SPC, RASE, LOCK
- // `----+-----+-----` `----+-----+-----`
- ),
-
- [_LOWER] = LAYOUT_kc(
- // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----,
- ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, DEL,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- , , , , , , , , , LCBR, RCBR, BSLS,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- , , , XCPY, XINS, , , , , , , ,
- // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----|
- , , , , ,
- // `----+-----+-----` `----+-----+-----`
- ),
-
- [_RAISE] = LAYOUT_kc(
- // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----,
- GRV, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, DEL,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- , , , , MINS, EQL, , , UP, LBRC, RBRC, PIPE,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- , , , , , , , LEFT, DOWN, RGHT, , ,
- // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----|
- , , , , ,
- // `----+-----+-----` `----+-----+-----`
- ),
- [_ADJUST] = LAYOUT_kc(
- // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----,
- STOG, xxxx, xxxx, xxxx, RST, xxxx, ROOT, PPLY, PSEF, xxxx, xxxx, CAD,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- SDM, SDP, SBOF, SBON, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx,
- // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----|
- xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx,
- // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----|
- xxxx, , xxxx, xxxx, , xxxx
- // `----+-----+-----` `----+-----+-----`
- )
-};
diff --git a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/rules.mk b/keyboards/handwired/not_so_minidox/keymaps/mtdjr/rules.mk
deleted file mode 100644
index e5ddcae8d9..0000000000
--- a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/handwired/not_so_minidox/matrix.c b/keyboards/handwired/not_so_minidox/matrix.c
deleted file mode 100644
index 27a38dca02..0000000000
--- a/keyboards/handwired/not_so_minidox/matrix.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * scan matrix
- */
-#include <stdint.h>
-#include <stdbool.h>
-#include <avr/io.h>
-#include <avr/wdt.h>
-#include <avr/interrupt.h>
-#include <util/delay.h>
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "split_util.h"
-#include "pro_micro.h"
-#include "config.h"
-
-#ifdef USE_I2C
-# include "i2c.h"
-#else // USE_SERIAL
-# include "serial.h"
-#endif
-
-#ifndef DEBOUNCE
-# define DEBOUNCE 5
-#endif
-
-#define ERROR_DISCONNECT_COUNT 5
-
-static uint8_t debouncing = DEBOUNCE;
-static const int ROWS_PER_HAND = MATRIX_ROWS/2;
-static uint8_t error_count = 0;
-
-static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
-static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-static matrix_row_t read_cols(void);
-static void init_cols(void);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-inline
-uint8_t matrix_rows(void)
-{
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void)
-{
- return MATRIX_COLS;
-}
-
-void matrix_init(void)
-{
- debug_enable = true;
- debug_matrix = true;
- debug_mouse = true;
- // initialize row and col
- unselect_rows();
- init_cols();
-
- TX_RX_LED_INIT;
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
-
- matrix_init_quantum();
-}
-
-uint8_t _matrix_scan(void)
-{
- // Right hand is stored after the left in the matirx so, we need to offset it
- int offset = isLeftHand ? 0 : (ROWS_PER_HAND);
-
- for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
- select_row(i);
- _delay_us(30); // without this wait read unstable value.
- matrix_row_t cols = read_cols();
- if (matrix_debouncing[i+offset] != cols) {
- matrix_debouncing[i+offset] = cols;
- debouncing = DEBOUNCE;
- }
- unselect_rows();
- }
-
- if (debouncing) {
- if (--debouncing) {
- _delay_ms(1);
- } else {
- for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
- matrix[i+offset] = matrix_debouncing[i+offset];
- }
- }
- }
-
- return 1;
-}
-
-#ifdef USE_I2C
-
-// Get rows from other half over i2c
-int i2c_transaction(void) {
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
-
- int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE);
- if (err) goto i2c_error;
-
- // start of matrix stored at 0x00
- err = i2c_master_write(0x00);
- if (err) goto i2c_error;
-
- // Start read
- err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ);
- if (err) goto i2c_error;
-
- if (!err) {
- int i;
- for (i = 0; i < ROWS_PER_HAND-1; ++i) {
- matrix[slaveOffset+i] = i2c_master_read(I2C_ACK);
- }
- matrix[slaveOffset+i] = i2c_master_read(I2C_NACK);
- i2c_master_stop();
- } else {
-i2c_error: // the cable is disconnceted, or something else went wrong
- i2c_reset_state();
- return err;
- }
-
- return 0;
-}
-
-#else // USE_SERIAL
-
-int serial_transaction(void) {
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
-
- if (serial_update_buffers()) {
- return 1;
- }
-
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- matrix[slaveOffset+i] = serial_slave_buffer[i];
- }
- return 0;
-}
-#endif
-
-uint8_t matrix_scan(void)
-{
- int ret = _matrix_scan();
-
-
-
-#ifdef USE_I2C
- if( i2c_transaction() ) {
-#else // USE_SERIAL
- if( serial_transaction() ) {
-#endif
- // turn on the indicator led when halves are disconnected
- TXLED1;
-
- error_count++;
-
- if (error_count > ERROR_DISCONNECT_COUNT) {
- // reset other half if disconnected
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- matrix[slaveOffset+i] = 0;
- }
- }
- } else {
- // turn off the indicator led on no error
- TXLED0;
- error_count = 0;
- }
- matrix_scan_quantum();
- return ret;
-}
-
-void matrix_slave_scan(void) {
- _matrix_scan();
-
- int offset = (isLeftHand) ? 0 : (MATRIX_ROWS / 2);
-
-#ifdef USE_I2C
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- /* i2c_slave_buffer[i] = matrix[offset+i]; */
- i2c_slave_buffer[i] = matrix[offset+i];
- }
-#else // USE_SERIAL
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- serial_slave_buffer[i] = matrix[offset+i];
- }
-#endif
-}
-
-bool matrix_is_modified(void)
-{
- if (debouncing) return false;
- return true;
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & ((matrix_row_t)1<<col));
-}
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- print("\nr/c 0123456789ABCDEF\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- pbin_reverse16(matrix_get_row(row));
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += bitpop16(matrix[i]);
- }
- return count;
-}
-
-static void init_cols(void)
-{
- for(int x = 0; x < MATRIX_COLS; x++) {
- _SFR_IO8((col_pins[x] >> 4) + 1) &= ~_BV(col_pins[x] & 0xF);
- _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF);
- }
-}
-
-static matrix_row_t read_cols(void)
-{
- matrix_row_t result = 0;
- for(int x = 0; x < MATRIX_COLS; x++) {
- result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x);
- }
- return result;
-}
-
-static void unselect_rows(void)
-{
- for(int x = 0; x < ROWS_PER_HAND; x++) {
- _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF);
- _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF);
- }
-}
-
-static void select_row(uint8_t row)
-{
- _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF);
- _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF);
-}
diff --git a/keyboards/handwired/not_so_minidox/not_so_minidox.c b/keyboards/handwired/not_so_minidox/not_so_minidox.c
deleted file mode 100644
index 898c9eaca8..0000000000
--- a/keyboards/handwired/not_so_minidox/not_so_minidox.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "not_so_minidox.h" \ No newline at end of file
diff --git a/keyboards/handwired/not_so_minidox/not_so_minidox.h b/keyboards/handwired/not_so_minidox/not_so_minidox.h
deleted file mode 100644
index 05e7bc4914..0000000000
--- a/keyboards/handwired/not_so_minidox/not_so_minidox.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef NOSOTMINIDOX_H
-#define NOSOTMINIDOX_H
-
-
-#include "quantum.h"
-
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \
- L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \
- L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, \
- LT1, LT2, LT3, RT3, RT2, RT1 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { KC_NO, KC_NO, KC_NO, LT1, LT2, LT3 }, \
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { KC_NO, KC_NO, KC_NO, RT1, RT2, RT3 }, \
- }
-
-// Used to create a keymap using only KC_ prefixed keys
-#define LAYOUT_kc( \
- L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \
- L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \
- L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, \
- LT1, LT2, LT3, RT3, RT2, RT1 \
- ) \
- { \
- { KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05 }, \
- { KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15 }, \
- { KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25 }, \
- { KC_NO, KC_NO, KC_NO, KC_##LT1, KC_##LT2, KC_##LT3 }, \
- { KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05 }, \
- { KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15 }, \
- { KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25 }, \
- { KC_NO, KC_NO, KC_NO, KC_##RT1, KC_##RT2, KC_##RT3 }, \
- }
-
-#endif
diff --git a/keyboards/handwired/not_so_minidox/readme.md b/keyboards/handwired/not_so_minidox/readme.md
deleted file mode 100644
index c791e6e3f9..0000000000
--- a/keyboards/handwired/not_so_minidox/readme.md
+++ /dev/null
@@ -1,71 +0,0 @@
-not_so_minidox
-=====
-
-![not_so_minidox]()
-
-A slightly larger version of the MiniDox
-
-Keyboard Maintainer: mtdjr
-Hardware Supported: None yet/ProMicro
-
-Make example for this keyboard (after setting up your build environment):
-
- make not_so_minidox/rev1:default
-
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
-
-Flashing
--------
-Note: Most of this is copied from the Let's Split readme, because it is awesome
-
-From the root directory run `make PROJECT:KEYMAP:avrdude` for automatic serial port resolution and flashing.
-Example: `make not_so_minidox/rev1:default:avrdude`
-
-Choosing which board to plug the USB cable into (choosing Master)
---------
-Because the two boards are identical, the firmware has logic to differentiate the left and right board.
-
-It uses two strategies to figure things out: look at the EEPROM (memory on the chip) or looks if the current board has the usb cable.
-
-The EEPROM approach requires additional setup (flashing the eeeprom) but allows you to swap the usb cable to either side.
-
-The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra.
-
-### Setting the left hand as master
-If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set.
-
-### Setting the right hand as master
-If you always plug the usb cable into the right board, add an extra flag to your `config.h`
-```
- #define MASTER_RIGHT
-```
-
-### Setting EE_hands to use either hands as master
-If you define `EE_HANDS` in your `config.h`, you will need to set the
-EEPROM for the left and right halves.
-
-The EEPROM is used to store whether the
-half is left handed or right handed. This makes it so that the same firmware
-file will run on both hands instead of having to flash left and right handed
-versions of the firmware to each half. To flash the EEPROM file for the left
-half run:
-```
-avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-lefthand.eep"
-// or the equivalent in dfu-programmer
-
-```
-and similarly for right half
-```
-avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-righthand.eep"
-// or the equivalent in dfu-programmer
-```
-
-NOTE: replace `$(COM_PORT)` with the port of your device (e.g. `/dev/ttyACM0`)
-
-After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash.
-
-Note that you need to program both halves, but you have the option of using
-different keymaps for each half. You could program the left half with a QWERTY
-layout and the right half with a Colemak layout using bootmagic's default layout option.
-Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the
-right half is connected.
diff --git a/keyboards/handwired/not_so_minidox/rules.mk b/keyboards/handwired/not_so_minidox/rules.mk
deleted file mode 100644
index 833dd4b79e..0000000000
--- a/keyboards/handwired/not_so_minidox/rules.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-SRC += matrix.c \
- i2c.c \
- split_util.c \
- serial.c
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= no # Audio control and System control(+450)
-CONSOLE_ENABLE ?= no # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
-NKRO_ENABLE ?= no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
-MIDI_ENABLE ?= no # MIDI controls
-AUDIO_ENABLE ?= no # Audio output on port C6
-UNICODE_ENABLE ?= no # Unicode
-BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight.
-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
diff --git a/keyboards/handwired/not_so_minidox/serial.c b/keyboards/handwired/not_so_minidox/serial.c
deleted file mode 100644
index 74bcbb6bf6..0000000000
--- a/keyboards/handwired/not_so_minidox/serial.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * WARNING: be careful changing this code, it is very timing dependent
- */
-
-#ifndef F_CPU
-#define F_CPU 16000000
-#endif
-
-#include <avr/io.h>
-#include <avr/interrupt.h>
-#include <util/delay.h>
-#include <stdbool.h>
-#include "serial.h"
-
-#ifndef USE_I2C
-
-// Serial pulse period in microseconds. Its probably a bad idea to lower this
-// value.
-#define SERIAL_DELAY 24
-
-uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
-uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
-
-#define SLAVE_DATA_CORRUPT (1<<0)
-volatile uint8_t status = 0;
-
-inline static
-void serial_delay(void) {
- _delay_us(SERIAL_DELAY);
-}
-
-inline static
-void serial_output(void) {
- SERIAL_PIN_DDR |= SERIAL_PIN_MASK;
-}
-
-// make the serial pin an input with pull-up resistor
-inline static
-void serial_input(void) {
- SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK;
- SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
-}
-
-inline static
-uint8_t serial_read_pin(void) {
- return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK);
-}
-
-inline static
-void serial_low(void) {
- SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK;
-}
-
-inline static
-void serial_high(void) {
- SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
-}
-
-void serial_master_init(void) {
- serial_output();
- serial_high();
-}
-
-void serial_slave_init(void) {
- serial_input();
-
- // Enable INT0
- EIMSK |= _BV(INT0);
- // Trigger on falling edge of INT0
- EICRA &= ~(_BV(ISC00) | _BV(ISC01));
-}
-
-// Used by the master to synchronize timing with the slave.
-static
-void sync_recv(void) {
- serial_input();
- // This shouldn't hang if the slave disconnects because the
- // serial line will float to high if the slave does disconnect.
- while (!serial_read_pin());
- serial_delay();
-}
-
-// Used by the slave to send a synchronization signal to the master.
-static
-void sync_send(void) {
- serial_output();
-
- serial_low();
- serial_delay();
-
- serial_high();
-}
-
-// Reads a byte from the serial line
-static
-uint8_t serial_read_byte(void) {
- uint8_t byte = 0;
- serial_input();
- for ( uint8_t i = 0; i < 8; ++i) {
- byte = (byte << 1) | serial_read_pin();
- serial_delay();
- _delay_us(1);
- }
-
- return byte;
-}
-
-// Sends a byte with MSB ordering
-static
-void serial_write_byte(uint8_t data) {
- uint8_t b = 8;
- serial_output();
- while( b-- ) {
- if(data & (1 << b)) {
- serial_high();
- } else {
- serial_low();
- }
- serial_delay();
- }
-}
-
-// interrupt handle to be used by the slave device
-ISR(SERIAL_PIN_INTERRUPT) {
- sync_send();
-
- uint8_t checksum = 0;
- for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) {
- serial_write_byte(serial_slave_buffer[i]);
- sync_send();
- checksum += serial_slave_buffer[i];
- }
- serial_write_byte(checksum);
- sync_send();
-
- // wait for the sync to finish sending
- serial_delay();
-
- // read the middle of pulses
- _delay_us(SERIAL_DELAY/2);
-
- uint8_t checksum_computed = 0;
- for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) {
- serial_master_buffer[i] = serial_read_byte();
- sync_send();
- checksum_computed += serial_master_buffer[i];
- }
- uint8_t checksum_received = serial_read_byte();
- sync_send();
-
- serial_input(); // end transaction
-
- if ( checksum_computed != checksum_received ) {
- status |= SLAVE_DATA_CORRUPT;
- } else {
- status &= ~SLAVE_DATA_CORRUPT;
- }
-}
-
-inline
-bool serial_slave_DATA_CORRUPT(void) {
- return status & SLAVE_DATA_CORRUPT;
-}
-
-// Copies the serial_slave_buffer to the master and sends the
-// serial_master_buffer to the slave.
-//
-// Returns:
-// 0 => no error
-// 1 => slave did not respond
-int serial_update_buffers(void) {
- // this code is very time dependent, so we need to disable interrupts
- cli();
-
- // signal to the slave that we want to start a transaction
- serial_output();
- serial_low();
- _delay_us(1);
-
- // wait for the slaves response
- serial_input();
- serial_high();
- _delay_us(SERIAL_DELAY);
-
- // check if the slave is present
- if (serial_read_pin()) {
- // slave failed to pull the line low, assume not present
- sei();
- return 1;
- }
-
- // if the slave is present syncronize with it
- sync_recv();
-
- uint8_t checksum_computed = 0;
- // receive data from the slave
- for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) {
- serial_slave_buffer[i] = serial_read_byte();
- sync_recv();
- checksum_computed += serial_slave_buffer[i];
- }
- uint8_t checksum_received = serial_read_byte();
- sync_recv();
-
- if (checksum_computed != checksum_received) {
- sei();
- return 1;
- }
-
- uint8_t checksum = 0;
- // send data to the slave
- for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) {
- serial_write_byte(serial_master_buffer[i]);
- sync_recv();
- checksum += serial_master_buffer[i];
- }
- serial_write_byte(checksum);
- sync_recv();
-
- // always, release the line when not in use
- serial_output();
- serial_high();
-
- sei();
- return 0;
-}
-
-#endif
diff --git a/keyboards/handwired/not_so_minidox/serial.h b/keyboards/handwired/not_so_minidox/serial.h
deleted file mode 100644
index 15fe4db7b4..0000000000
--- a/keyboards/handwired/not_so_minidox/serial.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef MY_SERIAL_H
-#define MY_SERIAL_H
-
-#include "config.h"
-#include <stdbool.h>
-
-/* TODO: some defines for interrupt setup */
-#define SERIAL_PIN_DDR DDRD
-#define SERIAL_PIN_PORT PORTD
-#define SERIAL_PIN_INPUT PIND
-#define SERIAL_PIN_MASK _BV(PD0)
-#define SERIAL_PIN_INTERRUPT INT0_vect
-
-#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
-#define SERIAL_MASTER_BUFFER_LENGTH 1
-
-// Buffers for master - slave communication
-extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
-extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
-
-void serial_master_init(void);
-void serial_slave_init(void);
-int serial_update_buffers(void);
-bool serial_slave_data_corrupt(void);
-
-#endif
diff --git a/keyboards/handwired/not_so_minidox/split_util.c b/keyboards/handwired/not_so_minidox/split_util.c
deleted file mode 100644
index 39639c3b4b..0000000000
--- a/keyboards/handwired/not_so_minidox/split_util.c
+++ /dev/null
@@ -1,84 +0,0 @@
-#include <avr/io.h>
-#include <avr/wdt.h>
-#include <avr/power.h>
-#include <avr/interrupt.h>
-#include <util/delay.h>
-#include <avr/eeprom.h>
-#include "split_util.h"
-#include "matrix.h"
-#include "keyboard.h"
-#include "config.h"
-
-#ifdef USE_I2C
-# include "i2c.h"
-#else
-# include "serial.h"
-#endif
-
-volatile bool isLeftHand = true;
-
-static void setup_handedness(void) {
- #ifdef EE_HANDS
- isLeftHand = eeprom_read_byte(EECONFIG_HANDEDNESS);
- #else
- // I2C_MASTER_RIGHT is deprecated, use MASTER_RIGHT instead, since this works for both serial and i2c
- #if defined(I2C_MASTER_RIGHT) || defined(MASTER_RIGHT)
- isLeftHand = !has_usb();
- #else
- isLeftHand = has_usb();
- #endif
- #endif
-}
-
-static void keyboard_master_setup(void) {
-#ifdef USE_I2C
- i2c_master_init();
-#ifdef SSD1306OLED
- matrix_master_OLED_init ();
-#endif
-#else
- serial_master_init();
-#endif
-}
-
-static void keyboard_slave_setup(void) {
-#ifdef USE_I2C
- i2c_slave_init(SLAVE_I2C_ADDRESS);
-#else
- serial_slave_init();
-#endif
-}
-
-bool has_usb(void) {
- USBCON |= (1 << OTGPADE); //enables VBUS pad
- _delay_us(5);
- return (USBSTA & (1<<VBUS)); //checks state of VBUS
-}
-
-void split_keyboard_setup(void) {
- setup_handedness();
-
- if (has_usb()) {
- keyboard_master_setup();
- } else {
- keyboard_slave_setup();
- }
- sei();
-}
-
-void keyboard_slave_loop(void) {
- matrix_init();
-
- while (1) {
- matrix_slave_scan();
- }
-}
-
-// this code runs before the usb and keyboard is initialized
-void matrix_setup(void) {
- split_keyboard_setup();
-
- if (!has_usb()) {
- keyboard_slave_loop();
- }
-}
diff --git a/keyboards/handwired/not_so_minidox/split_util.h b/keyboards/handwired/not_so_minidox/split_util.h
deleted file mode 100644
index 595a0659e1..0000000000
--- a/keyboards/handwired/not_so_minidox/split_util.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef SPLIT_KEYBOARD_UTIL_H
-#define SPLIT_KEYBOARD_UTIL_H
-
-#include <stdbool.h>
-#include "eeconfig.h"
-
-#define SLAVE_I2C_ADDRESS 0x32
-
-extern volatile bool isLeftHand;
-
-// slave version of matix scan, defined in matrix.c
-void matrix_slave_scan(void);
-
-void split_keyboard_setup(void);
-bool has_usb(void);
-void keyboard_slave_loop(void);
-
-void matrix_master_OLED_init (void);
-
-#endif
diff --git a/keyboards/handwired/numbrero/config.h b/keyboards/handwired/numbrero/config.h
deleted file mode 100644
index bb178bd225..0000000000
--- a/keyboards/handwired/numbrero/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Numbrero
-#define DESCRIPTION Pro Micro-powered Reversible L/H Numpad with Extra Macro Keys
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 5
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F6, B5, B4, E6, F7 }
-#define MATRIX_COL_PINS { D1, D0, D4, F5, F4 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 3
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 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
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 5
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
diff --git a/keyboards/handwired/numbrero/info.json b/keyboards/handwired/numbrero/info.json
deleted file mode 100644
index d2f7ebd031..0000000000
--- a/keyboards/handwired/numbrero/info.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "keyboard_name": "Numbrero",
- "url": "",
- "maintainer": "Flehrad",
- "width": 5,
- "height": 5,
- "layouts": {
- "LAYOUT_numbrero_numpad": {
- "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":"K10", "x":0, "y":1, "h":1.5},
- {"label":"K11", "x":1, "y":1},
- {"label":"K12", "x":2, "y":1},
- {"label":"K13", "x":3, "y":1},
- {"label":"K20", "x":0, "y":2.5},
- {"label":"K21", "x":1, "y":2},
- {"label":"K22", "x":2, "y":2},
- {"label":"K23", "x":3, "y":2},
- {"label":"K14", "x":4, "y":1, "h":2},
- {"label":"K30", "x":0, "y":3.5, "h":1.5},
- {"label":"K31", "x":1, "y":3},
- {"label":"K32", "x":2, "y":3},
- {"label":"K33", "x":3, "y":3},
- {"label":"K41", "x":1, "y":4, "w":2},
- {"label":"K43", "x":3, "y":4},
- {"label":"K34", "x":4, "y":3, "h":2}
- ]
- },
- "LAYOUT_numbrero_ortho": {
- "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":"K10", "x":0, "y":1, "h":1.5},
- {"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":"K20", "x":0, "y":2.5},
- {"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":"K30", "x":0, "y":3.5, "h":1.5},
- {"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":"K41", "x":1, "y":4},
- {"label":"K42", "x":2, "y":4},
- {"label":"K43", "x":3, "y":4},
- {"label":"K44", "x":4, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/numbrero/keymaps/default/keymap.c b/keyboards/handwired/numbrero/keymaps/default/keymap.c
deleted file mode 100644
index 903ed8d88c..0000000000
--- a/keyboards/handwired/numbrero/keymaps/default/keymap.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT_numbrero_numpad(
- KC_TRNS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TRNS, KC_P7, KC_P8, KC_P9,
- KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_TRNS, KC_P1, KC_P2, KC_P3,
- KC_P0, KC_PDOT, KC_PENT),
-
- LAYOUT_numbrero_ortho(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-
-};
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
diff --git a/keyboards/handwired/numbrero/license b/keyboards/handwired/numbrero/license
deleted file mode 100644
index b09cd7856d..0000000000
--- a/keyboards/handwired/numbrero/license
+++ /dev/null
@@ -1,201 +0,0 @@
-Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/keyboards/handwired/numbrero/numbrero.c b/keyboards/handwired/numbrero/numbrero.c
deleted file mode 100644
index d3ec36904a..0000000000
--- a/keyboards/handwired/numbrero/numbrero.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "numbrero.h"
diff --git a/keyboards/handwired/numbrero/numbrero.h b/keyboards/handwired/numbrero/numbrero.h
deleted file mode 100644
index c72e654078..0000000000
--- a/keyboards/handwired/numbrero/numbrero.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT_numbrero_numpad( \
- K00, K01, K02, K03, K04, \
- K10, K11, K12, K13, \
- K20, K21, K22, K23, K14, \
- K30, K31, K32, K33, \
- K41, K43, K34 \
-) { \
- { K00, K01, K02, K03, K04 }, \
- { K10, K11, K12, K13, K14 }, \
- { K20, K21, K22, K23, KC_NO }, \
- { K30, K31, K32, K33, K34 }, \
- { KC_NO, K41, KC_NO, K43, KC_NO } \
-}
-#define LAYOUT_numbrero_ortho(\
- K00, K01, K02, K03, K04, \
- K10, K11, K12, K13, K14, \
- K20, K21, K22, K23, K24, \
- K30, K31, K32, K33, K34, \
- K41, K42, K43, K44 \
-){ \
- { K00, K01, K02, K03, K04 }, \
- { K10, K11, K12, K13, K14 }, \
- { K20, K21, K22, K23, K24 }, \
- { K30, K31, K32, K33, K34 }, \
- { KC_NO, K41, K42, K43, K44 } \
-}
diff --git a/keyboards/handwired/numbrero/readme.md b/keyboards/handwired/numbrero/readme.md
deleted file mode 100644
index 42f005dbe2..0000000000
--- a/keyboards/handwired/numbrero/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Numbrero
-
-A reversible numpad (left/right-handed) with extra macro keys.
-
-Keyboard Maintainer: [Flehrad](https://github.com/flehrad)
-Hardware Supported: Numbrero PCB, Pro Micro
-Hardware Availability: The Board Podcast Slack
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/numbrero/numbrero: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/numbrero/rules.mk b/keyboards/handwired/numbrero/rules.mk
deleted file mode 100644
index bda6c866e2..0000000000
--- a/keyboards/handwired/numbrero/rules.mk
+++ /dev/null
@@ -1,59 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-#Bootloder
-#Pro Micro = caterina
-BOOTLOADER = caterina
-
-# Boot Section Size in *bytes*
-#OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/handwired/numpad20/config.h b/keyboards/handwired/numpad20/config.h
deleted file mode 100644
index c597494c41..0000000000
--- a/keyboards/handwired/numpad20/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x0504
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Numpad 20
-#define DESCRIPTION Handwired 4x5 numpad
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F6, B1, B3, B6, B5 }
-#define MATRIX_COL_PINS { D1, D0, F5, F4 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/numpad20/info.json b/keyboards/handwired/numpad20/info.json
deleted file mode 100644
index 691acb3150..0000000000
--- a/keyboards/handwired/numpad20/info.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "keyboard_name": "numpad20 handwired",
- "url": "",
- "maintainer": "qmk",
- "width": 4,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"K00", "x":0, "y":0},
- {"label":"K01", "x":1, "y":0},
- {"label":"K02", "x":2, "y":0},
- {"label":"K03", "x":3, "y":0},
- {"label":"K10", "x":0, "y":1},
- {"label":"K11", "x":1, "y":1},
- {"label":"K12", "x":2, "y":1},
- {"label":"K13", "x":3, "y":1},
- {"label":"K20", "x":0, "y":2},
- {"label":"K21", "x":1, "y":2},
- {"label":"K22", "x":2, "y":2},
- {"label":"K23", "x":3, "y":2},
- {"label":"K30", "x":0, "y":3},
- {"label":"K31", "x":1, "y":3},
- {"label":"K32", "x":2, "y":3},
- {"label":"K33", "x":3, "y":3},
- {"label":"K40", "x":0, "y":4},
- {"label":"K41", "x":1, "y":4},
- {"label":"K42", "x":2, "y":4},
- {"label":"K43", "x":3, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/numpad20/keymaps/default/keymap.c b/keyboards/handwired/numpad20/keymaps/default/keymap.c
deleted file mode 100644
index 414b104afd..0000000000
--- a/keyboards/handwired/numpad20/keymaps/default/keymap.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include QMK_KEYBOARD_H
-
-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 \
- )
-};
diff --git a/keyboards/handwired/numpad20/numpad20.c b/keyboards/handwired/numpad20/numpad20.c
deleted file mode 100644
index 101cf2cb4b..0000000000
--- a/keyboards/handwired/numpad20/numpad20.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "numpad20.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/numpad20/numpad20.h b/keyboards/handwired/numpad20/numpad20.h
deleted file mode 100644
index c15aa9ac70..0000000000
--- a/keyboards/handwired/numpad20/numpad20.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef NUMPAD20_H
-#define NUMPAD20_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K00, K01, K02, K03, \
- K10, K11, K12, K13, \
- K20, K21, K22, K23, \
- K30, K31, K32, K33, \
- K40, K41, K42, K43 \
- ) { \
- { K00, K01, K02, K03 }, \
- { K10, K11, K12, K13 }, \
- { K20, K21, K22, K23 }, \
- { K30, K31, K32, K33 }, \
- { K40, K41, K42, K43 } \
-}
-
-#endif
diff --git a/keyboards/handwired/numpad20/readme.md b/keyboards/handwired/numpad20/readme.md
deleted file mode 100644
index 4e14fbb005..0000000000
--- a/keyboards/handwired/numpad20/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# numpad20 handwired
-
-Custom handwired 20 key numpad.
-
-Keyboard Maintainer: [Danny](https://github.com/nooges)
-Hardware Supported: Custom handwired 20 key numpad
-Hardware Availability:
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/numpad20:default
-
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file
diff --git a/keyboards/handwired/numpad20/rules.mk b/keyboards/handwired/numpad20/rules.mk
deleted file mode 100644
index 361b2e93af..0000000000
--- a/keyboards/handwired/numpad20/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6 \ No newline at end of file
diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h
deleted file mode 100644
index 4a3042eeae..0000000000
--- a/keyboards/handwired/onekey/config.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-Copyright 2015 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6464
-#define DEVICE_VER 0x0001
-#define MANUFACTURER none
-#define PRODUCT onekey
-#define DESCRIPTION test board for qmk
-
-/* key matrix size */
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 1
-
-#define MATRIX_COL_PINS { B0 }
-#define MATRIX_ROW_PINS { D0 }
-#define UNUSED_PINS
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/onekey/keymaps/default/keymap.c b/keyboards/handwired/onekey/keymaps/default/keymap.c
deleted file mode 100644
index dd64f9fa55..0000000000
--- a/keyboards/handwired/onekey/keymaps/default/keymap.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT( KC_A )
-};
diff --git a/keyboards/handwired/onekey/onekey.c b/keyboards/handwired/onekey/onekey.c
deleted file mode 100644
index c79e0120eb..0000000000
--- a/keyboards/handwired/onekey/onekey.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "onekey.h" \ No newline at end of file
diff --git a/keyboards/handwired/onekey/onekey.h b/keyboards/handwired/onekey/onekey.h
deleted file mode 100644
index 8ce6fec2d0..0000000000
--- a/keyboards/handwired/onekey/onekey.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef ONEKEY_H
-#define ONEKEY_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00 \
- ) { \
- { k00 } \
-}
-
-#endif
diff --git a/keyboards/handwired/onekey/readme.md b/keyboards/handwired/onekey/readme.md
deleted file mode 100644
index eab3b75a93..0000000000
--- a/keyboards/handwired/onekey/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# onekey handwired
-
-Custom handwired one key keyboard.
-
-Keyboard Maintainer:
-Hardware Supported: Custom handwired one key
-Hardware Availability:
-
-Switch must be connected to pins B0 and D0.
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/onekey: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/onekey/rules.mk b/keyboards/handwired/onekey/rules.mk
deleted file mode 100644
index cfa693a73b..0000000000
--- a/keyboards/handwired/onekey/rules.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
-#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA \ No newline at end of file
diff --git a/keyboards/handwired/ortho5x13/config.h b/keyboards/handwired/ortho5x13/config.h
deleted file mode 100644
index 1e2128b650..0000000000
--- a/keyboards/handwired/ortho5x13/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB80
-#define PRODUCT_ID 0x050D
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Hexwire
-#define PRODUCT Ortho 5x13
-#define DESCRIPTION Handwired 5x13 ortholinear keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#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 { D3, D2, D1, D0, D4 }
-#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/ortho5x13/info.json b/keyboards/handwired/ortho5x13/info.json
deleted file mode 100644
index 15a65081a1..0000000000
--- a/keyboards/handwired/ortho5x13/info.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "keyboard_name": "ortho5x13",
- "url": "",
- "maintainer": "qmk",
- "width": 13,
- "height": 6,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Tab", "x":0, "y":1},
- {"label":"Q", "x":1, "y":1},
- {"label":"W", "x":2, "y":1},
- {"label":"E", "x":3, "y":1},
- {"label":"R", "x":4, "y":1},
- {"label":"T", "x":5, "y":1},
- {"label":"Y", "x":6, "y":1},
- {"label":"U", "x":7, "y":1},
- {"label":"I", "x":8, "y":1},
- {"label":"O", "x":9, "y":1},
- {"label":"P", "x":10, "y":1},
- {"label":"[", "x":11, "y":1},
- {"label":"]", "x":12, "y":1},
- {"label":"`", "x":0, "y":2},
- {"label":"A", "x":1, "y":2},
- {"label":"S", "x":2, "y":2},
- {"label":"D", "x":3, "y":2},
- {"label":"F", "x":4, "y":2},
- {"label":"G", "x":5, "y":2},
- {"label":"H", "x":6, "y":2},
- {"label":"J", "x":7, "y":2},
- {"label":"K", "x":8, "y":2},
- {"label":"L", "x":9, "y":2},
- {"label":";", "x":10, "y":2},
- {"label":",", "x":11, "y":2},
- {"label":"\\", "x":12, "y":2},
- {"label":"Shift", "x":0, "y":3},
- {"label":"Z", "x":1, "y":3},
- {"label":"X", "x":2, "y":3},
- {"label":"C", "x":3, "y":3},
- {"label":"V", "x":4, "y":3},
- {"label":"B", "x":5, "y":3},
- {"label":"N", "x":6, "y":3},
- {"label":"M", "x":7, "y":3},
- {"label":",", "x":8, "y":3},
- {"label":".", "x":9, "y":3},
- {"label":"/", "x":10, "y":3},
- {"label":"Enter", "x":11, "y":3},
- {"label":"Up", "x":12, "y":3},
- {"label":"Hyper", "x":0, "y":4},
- {"label":"Ctrl", "x":1, "y":4},
- {"label":"Alt", "x":2, "y":4},
- {"label":"GUI", "x":3, "y":4},
- {"label":"Lower", "x":4, "y":4},
- {"label":"Space", "x":5, "y":4, "w":2},
- {"label":"Raise", "x":7, "y":4},
- {"label":"Backspace", "x":8, "y":4},
- {"label":"Shift", "x":9, "y":4},
- {"label":"Left", "x":10, "y":4},
- {"label":"Right", "x":11, "y":4},
- {"label":"Down", "x":12, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c b/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
deleted file mode 100644
index 0c8bbb055e..0000000000
--- a/keyboards/handwired/ortho5x13/keymaps/default/keymap.c
+++ /dev/null
@@ -1,280 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _COLEMAK 1
-#define _DVORAK 2
-#define _LOWER 3
-#define _RAISE 4
-#define _ADJUST 16
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
- BACKLIT
-};
-
-#define KC_L1 LOWER
-#define KC_L2 RAISE
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ,------------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] |
- * |------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | ` | A | S | D | F | G | H | J | K | L | ; | ' | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | Up |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Hyper| Ctrl | Alt | GUI |Lower | Space |Raise | Bksp |Shift | Left | Down |Right |
- * `------------------------------------------------------------------------------------------'
- */
- [_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_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC ,KC_RBRC ,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- KC_GRV ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,KC_BSLS ,
- //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- 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_UP ,
- //|--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------+--------|
- KC_HYPR ,KC_LCTL ,KC_LALT ,KC_LGUI ,KC_L1 , KC_SPC ,KC_L2 ,KC_BSPC ,KC_RSFT ,KC_LEFT ,KC_RGHT ,KC_DOWN
- //`--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------+--------'
- ),
-
-/* Colemak
- * ,------------------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | |
- * |------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | |
- * `------------------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT(
- KC_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 , _______,
- BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______
-),
-
-/* Dvorak
- * ,------------------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | |
- * |------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | |
- * `------------------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT(
- KC_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 , _______,
- BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______
-),
-
-/* Lower
- * ,------------------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | |
- * |------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | |
- * |------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play | |
- * `------------------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, _______,
- KC_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_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______
-),
-
-/* Raise
- * ,------------------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | |
- * |------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play | |
- * `------------------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, _______,
- KC_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_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______
-),
-
-/* Adjust (Lower + Raise)
- * ,------------------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | Reset| | | | | | | | | | Del | |
- * |------+------+------+------+------+-------------+------+------+------+------+------+------|
- * | | | |Audoff|Aud on|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | |Voice-|Voice+|Musoff|Mus on| | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `------------------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 , _______,
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______,
- _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______,
- _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_startup[][2] = {
- {NOTE_B5, 20},
- {NOTE_B6, 8},
- {NOTE_DS6, 20},
- {NOTE_B6, 8}
-};
-
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-
-float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
-
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-#endif
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_colemak);
- #endif
- persistent_default_layer_set(1UL<<_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_dvorak);
- #endif
- persistent_default_layer_set(1UL<<_DVORAK);
- }
- return false;
- break;
- case LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case BACKLIT:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- return false;
- break;
- }
- return true;
-};
-
-void matrix_init_user(void) {
- #ifdef AUDIO_ENABLE
- startup_user();
- #endif
-}
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
- PLAY_SONG(tone_startup);
-}
-
-void shutdown_user()
-{
- PLAY_SONG(tone_goodbye);
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
diff --git a/keyboards/handwired/ortho5x13/ortho5x13.c b/keyboards/handwired/ortho5x13/ortho5x13.c
deleted file mode 100644
index cf8352cc43..0000000000
--- a/keyboards/handwired/ortho5x13/ortho5x13.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "ortho5x13.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/ortho5x13/ortho5x13.h b/keyboards/handwired/ortho5x13/ortho5x13.h
deleted file mode 100644
index a43fc76ae6..0000000000
--- a/keyboards/handwired/ortho5x13/ortho5x13.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
- k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c }, \
- { k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b, k3c }, \
- { k40, k41, k42, k43, k44, k45, KC_NO, k47, k48, k49, k4a, k4b, k4c } \
-}
-
-#define LAYOUT_kc( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
- k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c \
-) \
-{ \
- { KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, KC_##k0c }, \
- { KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, KC_##k1c }, \
- { KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, KC_##k2c }, \
- { KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k35, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b, KC_##k3c }, \
- { KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44, KC_##k45, KC_NO, KC_##k47, KC_##k48, KC_##k49, KC_##k4a, KC_##k4b, KC_##k4c } \
-}
diff --git a/keyboards/handwired/ortho5x13/readme.md b/keyboards/handwired/ortho5x13/readme.md
deleted file mode 100644
index 444cfec96e..0000000000
--- a/keyboards/handwired/ortho5x13/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# ortho5x13 handwired
-
-Custom handwired ortho5x13 keyboard.
-
-Keyboard Maintainer: [Danny](https://github.com/nooges)
-Hardware Supported: Custom handwired 5x13 ortho keyboard
-Hardware Availability:
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/ortho5x13: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/ortho5x13/rules.mk b/keyboards/handwired/ortho5x13/rules.mk
deleted file mode 100644
index fe01b544c8..0000000000
--- a/keyboards/handwired/ortho5x13/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
diff --git a/keyboards/handwired/pilcrow/config.h b/keyboards/handwired/pilcrow/config.h
deleted file mode 100644
index 8f562de3b5..0000000000
--- a/keyboards/handwired/pilcrow/config.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT pilcrow
-#define DESCRIPTION A custom keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 10
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B4, F7, B1, B3 }
-#define MATRIX_COL_PINS { D4, C6, D7, E6, F5, F6, B6, B2, F4, B5}
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/pilcrow/info.json b/keyboards/handwired/pilcrow/info.json
deleted file mode 100644
index 824e2abbc5..0000000000
--- a/keyboards/handwired/pilcrow/info.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "keyboard_name": "pilcrow",
- "url": "",
- "maintainer": "qmk",
- "width": 10,
- "height": 4,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Q", "x":0, "y":0},
- {"label":"W", "x":1, "y":0},
- {"label":"E", "x":2, "y":0},
- {"label":"R", "x":3, "y":0},
- {"label":"T", "x":4, "y":0},
- {"label":"Y", "x":5, "y":0},
- {"label":"U", "x":6, "y":0},
- {"label":"I", "x":7, "y":0},
- {"label":"O", "x":8, "y":0},
- {"label":"P", "x":9, "y":0},
- {"label":"A", "x":0, "y":1},
- {"label":"S", "x":1, "y":1},
- {"label":"D", "x":2, "y":1},
- {"label":"F", "x":3, "y":1},
- {"label":"G", "x":4, "y":1},
- {"label":"H", "x":5, "y":1},
- {"label":"J", "x":6, "y":1},
- {"label":"K", "x":7, "y":1},
- {"label":"L", "x":8, "y":1},
- {"label":";", "x":9, "y":1},
- {"label":"Z", "x":0, "y":2},
- {"label":"X", "x":1, "y":2},
- {"label":"C", "x":2, "y":2},
- {"label":"V", "x":3, "y":2},
- {"label":"B", "x":4, "y":2},
- {"label":"N", "x":5, "y":2},
- {"label":"M", "x":6, "y":2},
- {"label":",", "x":7, "y":2},
- {"label":".", "x":8, "y":2},
- {"label":"/", "x":9, "y":2},
- {"label":"Ctrl", "x":0, "y":3},
- {"label":"Alt", "x":1, "y":3},
- {"label":"GUI", "x":2, "y":3},
- {"label":"MO(1)", "x":3, "y":3},
- {"label":"Space", "x":4, "y":3},
- {"label":"Shift / Space", "x":5, "y":3},
- {"label":"MO(2)", "x":6, "y":3},
- {"label":"MO(3)", "x":7, "y":3},
- {"label":"Delete", "x":8, "y":3},
- {"label":"Esc", "x":9, "y":3}
- ]
- }
- }
-}
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
deleted file mode 100644
index 617ff4f6cd..0000000000
--- a/keyboards/handwired/pilcrow/keymaps/default/keymap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-#include QMK_KEYBOARD_H
-
-#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 \
- ),
-
- /* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
- [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 \
- ),
-
- /* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [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, _______, _______, _______, _______ \
- )
-};
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-} \ No newline at end of file
diff --git a/keyboards/handwired/pilcrow/keymaps/default/readme.md b/keyboards/handwired/pilcrow/keymaps/default/readme.md
deleted file mode 100644
index 95472dfca8..0000000000
--- a/keyboards/handwired/pilcrow/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for pilcrow \ No newline at end of file
diff --git a/keyboards/handwired/pilcrow/keymaps/default/rules.mk b/keyboards/handwired/pilcrow/keymaps/default/rules.mk
deleted file mode 100644
index 3955a3ff42..0000000000
--- a/keyboards/handwired/pilcrow/keymaps/default/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/pilcrow/pilcrow.c b/keyboards/handwired/pilcrow/pilcrow.c
deleted file mode 100644
index c8243df7bf..0000000000
--- a/keyboards/handwired/pilcrow/pilcrow.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "pilcrow.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
diff --git a/keyboards/handwired/pilcrow/pilcrow.h b/keyboards/handwired/pilcrow/pilcrow.h
deleted file mode 100644
index 37d2914f24..0000000000
--- a/keyboards/handwired/pilcrow/pilcrow.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef PILCROW_H
-#define PILCROW_H
-
-#include "quantum.h"
-
-// This a shortcut to help you visually see your layout.
-// The following is an example using the Planck MIT layout
-// The first section contains all of the arguements
-// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 } \
-}
-
-#endif
diff --git a/keyboards/handwired/pilcrow/readme.md b/keyboards/handwired/pilcrow/readme.md
deleted file mode 100644
index 79f22518e8..0000000000
--- a/keyboards/handwired/pilcrow/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# pilcrow
-
-![pilcrow](https://i.imgur.com/KQdn2kg.jpg)
-
-A 4x10 ortholinear keyboard powered by a Teensy.
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: Teensy-powered pilcrow
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/pilcrow: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/pilcrow/rules.mk b/keyboards/handwired/pilcrow/rules.mk
deleted file mode 100644
index 67badc8207..0000000000
--- a/keyboards/handwired/pilcrow/rules.mk
+++ /dev/null
@@ -1,67 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
diff --git a/keyboards/handwired/prime_exl/config.h b/keyboards/handwired/prime_exl/config.h
deleted file mode 100644
index 3201a8247a..0000000000
--- a/keyboards/handwired/prime_exl/config.h
+++ /dev/null
@@ -1,71 +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
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x5052
-#define PRODUCT_ID 0x6578
-#define DEVICE_VER 0x0001
-#define MANUFACTURER PrimeKB
-#define PRODUCT Prime_EXL
-#define DESCRIPTION Ergo
-
-/* key matrix size */
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 9
-
-/* Keyboard Matrix Assignments */
-#define MATRIX_ROW_PINS { B1, E6, D5, D6, B4, D7, D4, F1, F0, B0 }
-#define MATRIX_COL_PINS { D0, B3, B2, D1, D2, D3, F7, F6, F5 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-#define BACKLIGHT_PIN B7
-#define BACKLIGHT_LEVELS 5
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4
-
-// EEPROM usage
-
-// TODO: refactor with new user EEPROM code (coming soon)
-#define EEPROM_MAGIC 0x451F
-#define EEPROM_MAGIC_ADDR 32
-// Bump this every time we change what we store
-// This will automatically reset the EEPROM with defaults
-// and avoid loading invalid data from the EEPROM
-#define EEPROM_VERSION 0x08
-#define EEPROM_VERSION_ADDR 34
-
-// Dynamic keymap starts after EEPROM version
-#define DYNAMIC_KEYMAP_EEPROM_ADDR 35
-// Dynamic macro starts after dynamic keymaps (35+(4*10*9*2)) = (35+720)
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 755
-#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 269 // 1024-DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
-#define DYNAMIC_KEYMAP_MACRO_COUNT 16 \ No newline at end of file
diff --git a/keyboards/handwired/prime_exl/info.json b/keyboards/handwired/prime_exl/info.json
deleted file mode 100644
index edab788607..0000000000
--- a/keyboards/handwired/prime_exl/info.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "keyboard_name": "Prime_EXL",
- "url": "https://www.primekb.com",
- "maintainer": "holtenc",
- "width": 18,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [{"x":0,"y":0,"w":1,"h":1}, {"x":1,"y":0,"w":1,"h":1}, {"x":2,"y":0,"w":1,"h":1}, {"x":3,"y":0,"w":1,"h":1}, {"x":4,"y":0,"w":1,"h":1}, {"x":5,"y":0,"w":1,"h":1}, {"x":6.5,"y":0,"w":1,"h":1}, {"x":7.5,"y":0,"w":1,"h":1}, {"x":8.5,"y":0,"w":1,"h":1}, {"x":9.5,"y":0,"w":1,"h":1}, {"x":10.5,"y":0,"w":1,"h":1}, {"x":11.5,"y":0,"w":1,"h":1}, {"x":13.75,"y":0,"w":1,"h":1}, {"x":14.75,"y":0,"w":1,"h":1}, {"x":15.75,"y":0,"w":1,"h":1}, {"x":16.75,"y":0,"w":1,"h":1}, {"x":17.75,"y":0,"w":1,"h":1}, {"x":18.75,"y":0,"w":2,"h":1}, {"x":0,"y":1,"w":1,"h":1}, {"x":1,"y":1,"w":1,"h":1}, {"x":2,"y":1,"w":1,"h":1}, {"x":3,"y":1,"w":1,"h":1}, {"x":4,"y":1,"w":1,"h":1}, {"x":5,"y":1,"w":1,"h":1}, {"x":6.5,"y":1,"w":1.26,"h":1}, {"x":7.75,"y":1,"w":1,"h":1}, {"x":8.75,"y":1,"w":1,"h":1}, {"x":9.75,"y":1,"w":1,"h":1}, {"x":10.75,"y":1,"w":1,"h":1}, {"x":11.75,"y":1,"w":1,"h":1}, {"x":14,"y":1,"w":1,"h":1}, {"x":15,"y":1,"w":1,"h":1}, {"x":16,"y":1,"w":1,"h":1}, {"x":17,"y":1,"w":1,"h":1}, {"x":18,"y":1,"w":1,"h":1}, {"x":19,"y":1,"w":1.75,"h":1}, {"x":0,"y":2,"w":1,"h":1}, {"x":1,"y":2,"w":1,"h":1}, {"x":2,"y":2,"w":1,"h":1}, {"x":3,"y":2,"w":1,"h":1}, {"x":4,"y":2,"w":1,"h":1}, {"x":5,"y":2,"w":1,"h":1}, {"x":6.5,"y":2,"w":1.75,"h":1}, {"x":8.25,"y":2,"w":1,"h":1}, {"x":9.25,"y":2,"w":1,"h":1}, {"x":10.25,"y":2,"w":1,"h":1}, {"x":11.25,"y":2,"w":1,"h":1}, {"x":12.25,"y":2,"w":1,"h":1}, {"x":13.5,"y":2,"w":1,"h":1}, {"x":14.5,"y":2,"w":1,"h":1}, {"x":15.5,"y":2,"w":1,"h":1}, {"x":16.5,"y":2,"w":1,"h":1}, {"x":17.5,"y":2,"w":1,"h":1}, {"x":18.5,"y":2,"w":1,"h":1}, {"x":19.5,"y":2,"w":1.25,"h":1}, {"x":0,"y":3,"w":1,"h":1}, {"x":1,"y":3,"w":1,"h":1}, {"x":2,"y":3,"w":1,"h":1}, {"x":3,"y":3,"w":1,"h":1}, {"x":4,"y":3,"w":1,"h":1}, {"x":5,"y":3,"w":1,"h":1}, {"x":6.5,"y":3,"w":1.25,"h":1}, {"x":7.75,"y":3,"w":1.25,"h":1}, {"x":9,"y":3,"w":1,"h":1}, {"x":10,"y":3,"w":1,"h":1}, {"x":11,"y":3,"w":2,"h":1}, {"x":13.5,"y":3,"w":2,"h":1}, {"x":15.5,"y":3,"w":1,"h":1}, {"x":16.5,"y":3,"w":1,"h":1}, {"x":17.5,"y":3,"w":1.5,"h":1}, {"x":19,"y":3,"w":1.5,"h":1}, {"x":0,"y":4,"w":1,"h":1}, {"x":1,"y":4,"w":1,"h":1}, {"x":2,"y":4,"w":1,"h":1}, {"x":3,"y":4,"w":1,"h":1}, {"x":4,"y":4,"w":1,"h":1}, {"x":5,"y":4,"w":1,"h":1}]
- }
- }
-}
diff --git a/keyboards/handwired/prime_exl/keymaps/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/keymaps/default/keymap.c b/keyboards/handwired/prime_exl/keymaps/default/keymap.c
deleted file mode 100644
index 1dac7825e4..0000000000
--- a/keyboards/handwired/prime_exl/keymaps/default/keymap.c
+++ /dev/null
@@ -1,143 +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/>.
- */
-#include QMK_KEYBOARD_H
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- QMKBEST = SAFE_RANGE,
- QMKURL
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_NLCK, KC_LPRN, KC_RPRN, KC_PSLS, KC_PAST, KC_BSPC, 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_F1, KC_F2, KC_P7, KC_P8, KC_P9, KC_DEL, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_F3, KC_F4, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(3), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- KC_F5, KC_F6, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_LCTL, KC_LALT, KC_LBRC, KC_RBRC, MO(1), KC_SPC, KC_MINS, KC_EQL, KC_LGUI, MO(4),
- KC_F7, KC_F8, TO(2), KC_PDOT, KC_P0, KC_PENT
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
- BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_F9, 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_Q, KC_W, KC_E, KC_R, KC_T, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(3), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_LALT, KC_LBRC, KC_RBRC, MO(5), KC_SPC, KC_MINS, KC_EQL, KC_LGUI, MO(4),
- KC_LCTL, KC_LALT, TO(0), KC_P, KC_H, KC_SPC
- ),
-
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [4] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [5] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
- BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMKBEST:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING("QMK is the best thing ever!");
- } else {
- // when keycode QMKBEST is released
- }
- break;
- case QMKURL:
- if (record->event.pressed) {
- // when keycode QMKURL is pressed
- SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
- } else {
- // when keycode QMKURL is released
- }
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- // set CapsLock LED to output and low
- setPinOutput(C6);
- writePinHigh(C6);
- // set NumLock LED to output and low
- setPinOutput(B6);
- writePinHigh(B6);
- // set ScrollLock LED to output and low
- setPinOutput(B5);
- writePinHigh(B5);
-}
-
-void matrix_scan_user(void) {
-
-}
-
-
-void led_set_user(uint8_t usb_led) {
- if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
- writePinHigh(B6);
- } else {
- writePinLow(B6);
- }
- if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
- writePinHigh(B5);
- } else {
- writePinLow(B5);
- }
- /*
- if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
- writePinHigh(C6);
- } else {
- writePinLow(C6);
- }
- */
-}
-
-//function for layer indicator LED
-uint32_t layer_state_set_user(uint32_t state)
-{
- if (biton32(state) == 2) {
- writePinHigh(C6);
- } else {
- writePinLow(C6);
- }
- return state;
-}
diff --git a/keyboards/handwired/prime_exl/keymaps/default/readme.md b/keyboards/handwired/prime_exl/keymaps/default/readme.md
deleted file mode 100644
index c2278bd460..0000000000
--- a/keyboards/handwired/prime_exl/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for prime_exl \ No newline at end of file
diff --git a/keyboards/handwired/prime_exl/keymaps/via/keymap.c b/keyboards/handwired/prime_exl/keymaps/via/keymap.c
deleted file mode 100644
index c01c247c89..0000000000
--- a/keyboards/handwired/prime_exl/keymaps/via/keymap.c
+++ /dev/null
@@ -1,101 +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/>.
- */
-#include QMK_KEYBOARD_H
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- LAYOUT(
- KC_NLCK, KC_LPRN, KC_RPRN, KC_PSLS, KC_PAST, KC_BSPC, 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_F1, KC_F2, KC_P7, KC_P8, KC_P9, KC_DEL, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_F3, KC_F4, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(3), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- KC_F5, KC_F6, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_LCTL, KC_LALT, KC_LBRC, KC_RBRC, MO(2), KC_SPC, KC_MINS, KC_EQL, KC_LGUI, MO(3),
- KC_F7, KC_F8, MO(1), KC_PDOT, KC_P0, KC_PENT
- ),
-
- LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_F9, 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_Q, KC_W, KC_E, KC_R, KC_T, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(3), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_LALT, KC_LBRC, KC_RBRC, MO(2), KC_SPC, KC_MINS, KC_EQL, KC_LGUI, MO(3),
- KC_LCTL, KC_LALT, TO(0), KC_P, KC_H, KC_SPC
- ),
-
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,
- BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-
-void matrix_init_user(void) {
- // set CapsLock LED to output and low
- setPinOutput(C6);
- writePinHigh(C6);
- // set NumLock LED to output and low
- setPinOutput(B6);
- writePinHigh(B6);
- // set ScrollLock LED to output and low
- setPinOutput(B5);
- writePinHigh(B5);
-}
-
-void matrix_scan_user(void) {
-
-}
-
-
-void led_set_user(uint8_t usb_led) {
- if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
- writePinHigh(B6);
- } else {
- writePinLow(B6);
- }
- if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
- writePinHigh(B5);
- } else {
- writePinLow(B5);
- }
- /*
- if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
- writePinHigh(C6);
- } else {
- writePinLow(C6);
- }
- */
-}
-
-//function for layer indicator LED
-uint32_t layer_state_set_user(uint32_t state)
-{
- if (biton32(state) == 2) {
- writePinHigh(C6);
- } else {
- writePinLow(C6);
- }
- return state;
-}
diff --git a/keyboards/handwired/prime_exl/keymaps/via/readme.md b/keyboards/handwired/prime_exl/keymaps/via/readme.md
deleted file mode 100644
index c2278bd460..0000000000
--- a/keyboards/handwired/prime_exl/keymaps/via/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for prime_exl \ No newline at end of file
diff --git a/keyboards/handwired/prime_exl/keymaps/via/rules.mk b/keyboards/handwired/prime_exl/keymaps/via/rules.mk
deleted file mode 100644
index e726a8a0e0..0000000000
--- a/keyboards/handwired/prime_exl/keymaps/via/rules.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = atmel-dfu
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-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
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
-
-# This is the VIA magic
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
-SRC += keyboards/wilba_tech/wt_main.c
-
diff --git a/keyboards/handwired/prime_exl/prime_exl.c b/keyboards/handwired/prime_exl/prime_exl.c
deleted file mode 100644
index bae606ffbf..0000000000
--- a/keyboards/handwired/prime_exl/prime_exl.c
+++ /dev/null
@@ -1,44 +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/>.
- */
-#include "prime_exl.h"
-/*
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
-*/ \ No newline at end of file
diff --git a/keyboards/handwired/prime_exl/prime_exl.h b/keyboards/handwired/prime_exl/prime_exl.h
deleted file mode 100644
index 03524da3c2..0000000000
--- a/keyboards/handwired/prime_exl/prime_exl.h
+++ /dev/null
@@ -1,40 +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/>.
- */
-//#ifndef PRIME_EXL_H
-//#define PRIME_EXL_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, K058, \
- K030, K060, K031, K061, K032, K062, K033, K063, K034, K064, K035, K065, K036, K066, K037, K067, K038, K068, \
- K020, K070, K021, K071, K022, K072, K023, K073, K024, K074, K025, K075, K085, K026, K076, K027, K077, K028, K078, \
- K010, K080, K011, K081, K012, K082, K013, K083, K014, K084, K015, K016, K086, K017, K087, K018, \
- K000, K090, K001, K091, K002, K092 \
-) { \
- { K000, K001, K002, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
- { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
- { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
- { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
- { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
- { K050, K051, K052, K053, K054, K055, K056, K057, K058 }, \
- { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
- { K070, K071, K072, K073, K074, K075, K076, K077, K078 }, \
- { K080, K081, K082, K083, K084, K085, K086, K087, KC_NO }, \
- { K090, K091, K092, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
-}
-
-//#endif \ No newline at end of file
diff --git a/keyboards/handwired/prime_exl/readme.md b/keyboards/handwired/prime_exl/readme.md
deleted file mode 100644
index f99cba004d..0000000000
--- a/keyboards/handwired/prime_exl/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Prime_EXL
-
-![Prime_EXL](https://i.imgur.com/3t524g8.jpg)
-
-An ergonomic 45% keyboard with a macro/numpad added to the left side.
-
-Keyboard Maintainer: [Holtenc](https://github.com/holtenc/)
-Hardware Supported: Prime_EXL PCB, ATMega32u4
-Hardware Availability: Prototype
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/prime_exl: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/prime_exl/rules.mk b/keyboards/handwired/prime_exl/rules.mk
deleted file mode 100644
index 5cce4e8113..0000000000
--- a/keyboards/handwired/prime_exl/rules.mk
+++ /dev/null
@@ -1,80 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = atmel-dfu
-
-
-# If you don't know the bootloader type, then you can specify the
-# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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 on B7 by default
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/handwired/promethium/color.h b/keyboards/handwired/promethium/color.h
deleted file mode 100644
index 077242d5f1..0000000000
--- a/keyboards/handwired/promethium/color.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#define COLOR_BLANK 0, 0, 0
-
-#define COLOR_BLACK 0, 0, 0
-#define COLOR_WHITE 15,15,15
-#define COLOR_GRAY 7, 7, 7
-
-#define COLOR_RED 15, 0, 0
-#define COLOR_GREEN 0,15, 0
-#define COLOR_BLUE 0, 0,15
-
-#define COLOR_YELLOW 15,15, 0
-#define COLOR_MAGENTA 15, 0,15
-#define COLOR_CYAN 0,15,15
-
-#define COLOR_ORANGE 15, 5, 0 \ No newline at end of file
diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h
deleted file mode 100644
index b5a0a7f4ba..0000000000
--- a/keyboards/handwired/promethium/config.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-#define USB_VENDOR_ID_LENOVO 0x17ef
-#define USB_DEVICE_ID_LENOVO_TPKBD 0x6009
-#define USB_DEVICE_ID_LENOVO_CUSBKBD 0x6047
-#define USB_DEVICE_ID_LENOVO_CBTKBD 0x6048
-#define USB_DEVICE_ID_LENOVO_TPPRODOCK 0x6067
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID USB_VENDOR_ID_LENOVO
-#define PRODUCT_ID USB_DEVICE_ID_LENOVO_CBTKBD
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Priyadi
-#define PRODUCT Promethium Keyboard
-#define DESCRIPTION
-
-/* key matrix size */
-#define MATRIX_COLS 6
-#define MATRIX_ROWS 9
-
-/* default pin-out */
-#define MATRIX_COL_PINS { F4, F1, F0, D6, D0, D1 }
-#define MATRIX_ROW_PINS { F5, F6, F7 }
-#define TRACKPOINT_PINS { B7, B6, D7 }
-#define UNUSED_PINS
-
-/*
- * 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 DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-// #define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-// #define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \
-)
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#define PS2_MOUSE_INIT_DELAY 2000
-#define BATTERY_PIN 9
-#define BATTERY_POLL 30000
-#define MAX_VOLTAGE 4.2
-#define MIN_VOLTAGE 3.2
-
-#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file
-enum led_sequence {
- LED_IND_LINUX,
- LED_IND_APPLE,
- LED_IND_WINDOWS,
- LED_IND_QWERTY,
- LED_IND_ALT,
- LED_IND_AUDIO,
- LED_IND_BLUETOOTH,
- LED_IND_USB,
-
- LED_IND_BATTERY,
- LED_IND_CAPSLOCK,
- LED_IND_GUI,
- LED_IND_FUN,
- LED_IND_NUM,
- LED_IND_PUNC,
- LED_IND_EMOJI,
- LED_IND_GREEK,
-
- LED_BKSP,
- LED_ENT,
- LED_RSFT,
- LED_RCTL,
-
- LED_RALT,
- LED_SLSH,
- LED_SCLN,
- LED_P,
-
- LED_O,
- LED_L,
- LED_DOT,
- LED_RGUI,
-
- LED_GREEK,
- LED_COMM,
- LED_K,
- LED_I,
-
- LED_U,
- LED_J,
- LED_M,
- LED_FUN,
-
- LED_RSPC,
- LED_N,
- LED_HH,
- LED_Y,
-
- LED_TRACKPOINT3,
- LED_TRACKPOINT2,
- LED_TRACKPOINT1,
-
- LED_T,
- LED_G,
- LED_B,
- LED_LSPC,
-
- LED_NUM,
- LED_V,
- LED_F,
- LED_R,
-
- LED_E,
- LED_D,
- LED_C,
- LED_EMPTY,
-
- LED_LGUI,
- LED_X,
- LED_S,
- LED_W,
-
- LED_Q,
- LED_A,
- LED_Z,
- LED_LALT,
-
- LED_LCTL,
- LED_LSFT,
- LED_ESC,
- LED_TAB,
-
- LED_TOTAL
-};
-
-#define RGB_DI_PIN B5
-#define RGBSPS_NUM LED_TOTAL
-#endif
-
-/* PS/2 mouse */
-#ifdef PS2_USE_BUSYWAIT
-# define PS2_CLOCK_PORT PORTD
-# define PS2_CLOCK_PIN PIND
-# define PS2_CLOCK_DDR DDRD
-# define PS2_CLOCK_BIT 3
-# define PS2_DATA_PORT PORTD
-# define PS2_DATA_PIN PIND
-# define PS2_DATA_DDR DDRD
-# define PS2_DATA_BIT 2
-#endif
-
-/* PS/2 mouse interrupt version */
-#ifdef PS2_USE_INT
-/* uses INT1 for clock line(ATMega32U4) */
-#define PS2_CLOCK_PORT PORTD
-#define PS2_CLOCK_PIN PIND
-#define PS2_CLOCK_DDR DDRD
-#define PS2_CLOCK_BIT 3
-#define PS2_DATA_PORT PORTD
-#define PS2_DATA_PIN PIND
-#define PS2_DATA_DDR DDRD
-#define PS2_DATA_BIT 2
-
-#define PS2_INT_INIT() do { \
- EICRA |= ((1<<ISC31) | \
- (0<<ISC30)); \
-} while (0)
-#define PS2_INT_ON() do { \
- EIMSK |= (1<<INT3); \
-} while (0)
-#define PS2_INT_OFF() do { \
- EIMSK &= ~(1<<INT3); \
-} while (0)
-#define PS2_INT_VECT INT3_vect
-#endif
-
-/* PS/2 mouse USART version */
-#ifdef PS2_USE_USART
-/* XCK for clock line and RXD for data line */
-#define PS2_CLOCK_PORT PORTD
-#define PS2_CLOCK_PIN PIND
-#define PS2_CLOCK_DDR DDRD
-#define PS2_CLOCK_BIT 5
-#define PS2_DATA_PORT PORTD
-#define PS2_DATA_PIN PIND
-#define PS2_DATA_DDR DDRD
-#define PS2_DATA_BIT 2
-
-/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
-/* set DDR of CLOCK as input to be slave */
-#define PS2_USART_INIT() do { \
- PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
- PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
- UCSR1C = ((1 << UMSEL10) | \
- (3 << UPM10) | \
- (0 << USBS1) | \
- (3 << UCSZ10) | \
- (0 << UCPOL1)); \
- UCSR1A = 0; \
- UBRR1H = 0; \
- UBRR1L = 0; \
-} while (0)
-#define PS2_USART_RX_INT_ON() do { \
- UCSR1B = ((1 << RXCIE1) | \
- (1 << RXEN1)); \
-} while (0)
-#define PS2_USART_RX_POLL_ON() do { \
- UCSR1B = (1 << RXEN1); \
-} while (0)
-#define PS2_USART_OFF() do { \
- UCSR1C = 0; \
- UCSR1B &= ~((1 << RXEN1) | \
- (1 << TXEN1)); \
-} while (0)
-#define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
-#define PS2_USART_RX_DATA UDR1
-#define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
-#define PS2_USART_RX_VECT USART1_RX_vect
-#endif
diff --git a/keyboards/handwired/promethium/info.json b/keyboards/handwired/promethium/info.json
deleted file mode 100644
index 2742ffa641..0000000000
--- a/keyboards/handwired/promethium/info.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "keyboard_name": "Promethium51",
- "url": "",
- "maintainer": "qmk",
- "width": 16,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- { "label": "k11", "x": 0, "y": 0.50 },
- { "label": "k12", "x": 1, "y": 0.30 },
- { "label": "k13", "x": 2, "y": 0.15 },
- { "label": "k14", "x": 3, "y": 0 },
- { "label": "k15", "x": 4, "y": 0.15 },
- { "label": "k16", "x": 5, "y": 0.15 },
- { "label": "k17", "x": 10, "y": 0.15 },
- { "label": "k18", "x": 11, "y": 0.15 },
- { "label": "k19", "x": 12, "y": 0 },
- { "label": "k1a", "x": 13, "y": 0.15 },
- { "label": "k1b", "x": 14, "y": 0.30 },
- { "label": "k1c", "x": 15, "y": 0.50 },
-
- { "label": "k21", "x": 0, "y": 1.50 },
- { "label": "k22", "x": 1, "y": 1.30 },
- { "label": "k23", "x": 2, "y": 1.15 },
- { "label": "k24", "x": 3, "y": 1 },
- { "label": "k25", "x": 4, "y": 1.15 },
- { "label": "k26", "x": 5, "y": 1.15 },
- { "label": "k27", "x": 10, "y": 1.15 },
- { "label": "k28", "x": 11, "y": 1.15 },
- { "label": "k29", "x": 12, "y": 1 },
- { "label": "k2a", "x": 13, "y": 1.15 },
- { "label": "k2b", "x": 14, "y": 1.30 },
- { "label": "k2c", "x": 15, "y": 1.50 },
-
- { "label": "k31", "x": 0, "y": 2.50 },
- { "label": "k32", "x": 1, "y": 2.30 },
- { "label": "k33", "x": 2, "y": 2.15 },
- { "label": "k34", "x": 3, "y": 2 },
- { "label": "k35", "x": 4, "y": 2.15 },
- { "label": "k36", "x": 5, "y": 2.15 },
- { "label": "k37", "x": 10, "y": 2.15 },
- { "label": "k38", "x": 11, "y": 2.15 },
- { "label": "k39", "x": 12, "y": 2 },
- { "label": "k3a", "x": 13, "y": 2.15 },
- { "label": "k3b", "x": 14, "y": 2.30 },
- { "label": "k3c", "x": 15, "y": 2.50 },
-
- { "label": "k41", "x": 0, "y": 3.50 },
- { "label": "k42", "x": 1, "y": 3.30 },
- { "label": "k43", "x": 2, "y": 3.15 },
- { "label": "k44", "x": 3, "y": 3 },
- { "label": "k45", "x": 4, "y": 3.15 },
- { "label": "k46", "x": 5, "y": 3.15 },
- { "label": "k47", "x": 10, "y": 3.15 },
- { "label": "k48", "x": 11, "y": 3.15 },
- { "label": "k49", "x": 12, "y": 3 },
- { "label": "k4a", "x": 13, "y": 3.15 },
- { "label": "k4b", "x": 14, "y": 3.30 },
- { "label": "k4c", "x": 15, "y": 3.50 },
-
- { "label": "tp1", "x": 6.5, "y": 3.15 },
- { "label": "tp2", "x": 7.5, "y": 3.15 },
- { "label": "tp3", "x": 8.5, "y": 3.15 }
- ]
- }
- }
-}
diff --git a/keyboards/handwired/promethium/keymaps/default/README.md b/keyboards/handwired/promethium/keymaps/default/README.md
deleted file mode 100644
index 48824b9f73..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-Priyadi Keymap for Planck-like Keyboards
-========================================
-
-Main layer modifications from default Planck layout:
-
-* Enter moved to quotes position
-* Quotes moved to semicolon position.
-* QWERTZ style colon & semicolon. shift-. = : shift-, = ; This is done in hardware, no layout switching needed in software.
-* < & > occupied precious real estate, and so they are moved down to punctuation layer.
-* Right-shift on Enter position.
-* Removed arrow keys, they are on another layer now.
-* Put Ctrl-Alt-Super and Super-AltGr-Ctrl in left & right corners.
-* Lower & Raise is now called Num and Fun.
-* OS & Left keys become another thumb modifier: Empty & Greek (Empty because I used this for another use and my muscle memory is not adapted to it yet)
-
-On Promethium, Trackpoint is enabled on PD2 and PD3. We impersonate a Thinkpad keyboard to be able to use Thinkpad driver on Windows (still needs verification).
-
-AltGr & Compose dual use key. Tap for Compose (mapped to Scroll Lock in hardware) and press for AltGr.
-
-Supported layouts: QWERTY, DVORAK, Colemak, Workman, Norman. Switchable from SYS layer. In DVORAK, semicolon is replaced by /? key.
-
-Num activates NUM layer: hexkeypad on the right side and most punctuation on the left side. Hexkeypad is optimized for C-style hex, IPv6, HTML RGB triplets, etc.
-
-Fun activates FUN layer: arrow cluster on right home row, F-numbers on left side.
-
-Pressing Num+Fun activates PUNC layer: same punctuations as NUM layer on the left side, parens on the right side.
-
-Greek activates either GREEKU or GREEKL layer, depending whether shift is pressed or not. Shift state changes are also taken into account when the layer is active.
-
-Greek+Empty activates EMOJI layer. The whole keyboard now outputs emojis!
-
-Pressing both spacebars (spacekeys, actually) activates GUI layer. QWERTYUIOP switches to a virtual desktop. J & L switches virtual desktop to the left or right. S & F behaves like Alt-Tab and Alt-Shift-Tab. This works by sending Alt press when entering the layer, and Alt release when other than S or F keys are pressed.
-
-Pressing both Ctrls activates SYS layer for configuring the keyboard.
-
-On Promethium, USB or Bluetooth output is detected on startup. If USB is connected, then USB is used initially. SYS-U and SYS-B switch output to USB or Bluetooth at runtime. Current active output is indicated with LEDs.
-
-SYS-W, SYS-L, SYS-M switch Unicode input method. SYS-Q, SYS-D, SYS-C, SYS-K, SYS-N switch to QWERTY, DVORAK, Colemak, Workman and Norman, respectively.
-
-SYS-A (mnemonic: audio) toggles faux clicky: use buzzer to emit clicks on key presses and releases.
-
-On Promethium there are 16 indicator LEDs, and under switch LEDs on each switches, including Trackpoint buttons. Totaling 67 LEDs. Output is limited to 0xF for each LEDs to conserve power. SYS-G (mnemonic: glow) toggles various backlighting modes.
-
-On Promethium, there's a LED to indicate battery level. Hue indicates level: green is full, red is empty. \ No newline at end of file
diff --git a/keyboards/handwired/promethium/keymaps/default/config.h b/keyboards/handwired/promethium/keymaps/default/config.h
deleted file mode 100644
index 0630fd43e3..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#pragma once
-
-#define PRIYADI_PROMETHIUM
-
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
-
-#define RGBSPS_ENABLE
-#define RGBSPS_DEMO_ENABLE
-
-#define UNICODE_TYPE_DELAY 0
-
-#define LAYOUT_DVORAK
-#define LAYOUT_COLEMAK
-#define LAYOUT_NORMAN
-#define LAYOUT_WORKMAN
-
-#define DOUBLESPACE_LAYER_ENABLE
-// #define TOLELOT_ENABLE
diff --git a/keyboards/handwired/promethium/keymaps/default/flash.sh b/keyboards/handwired/promethium/keymaps/default/flash.sh
deleted file mode 100644
index 14a3b43789..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/flash.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-sleep 10
-avrdude -p m32u4 -P /dev/ttyACM0 -c avr109 -U flash:w:../../../../../.build/handwired_promethium_priyadi.hex
diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c
deleted file mode 100644
index 179b411ee8..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/keymap.c
+++ /dev/null
@@ -1,1364 +0,0 @@
-/*
-Copyright 2017 Priyadi Iman Nurcahyo
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#if defined(PRIYADI_PROMETHIUM)
- #include "promethium.h"
-#elif defined(PRIYADI_PLANCK)
- #include "planck.h"
-#else
- #error "no keyboard defined"
-#endif
-
-#include "action_layer.h"
-#ifdef AUDIO_ENABLE
- #include "audio.h"
- #include "musical_notes.h"
-#endif
-#include "eeconfig.h"
-#include "process_unicode.h"
-#include "quantum.h"
-#ifdef RGBSPS_ENABLE
-#include "rgbsps.h"
-#include "rgbtheme.h"
-#endif
-#ifdef PS2_MOUSE_ENABLE
-#include "ps2_mouse.h"
-#include "ps2.h"
-#endif
-#ifdef FAUXCLICKY_ENABLE
-#include "fauxclicky.h"
-#ifdef RGBSPS_ENABLE
-#undef FAUXCLICKY_OFF
-#define FAUXCLICKY_OFF do { \
- fauxclicky_enabled = false; \
- rgbsps_set(LED_AUDIO, COLOR_BLANK); \
- fauxclicky_stop(); \
-} while (0)
-#undef FAUXCLICKY_ON
-#define FAUXCLICKY_ON do { \
- fauxclicky_enabled = true; \
- rgbsps_set(LED_AUDIO, THEME_COLOR_AUDIO); \
-} while (0)
-#endif
-#endif
-#include "outputselect.h"
-#include "led.h"
-#define COUNT(x) (sizeof (x) / sizeof (*(x)))
-
-#define KC_WWWB KC_WWW_BACK
-#define KC_WWWF KC_WWW_FORWARD
-
-// hybrid right-alt & scroll lock (mapped to Compose in OS)
-#define C_RALT MT(MOD_RALT, KC_SLCK)
-
-// dual use right-shift & del key
-// #define C_RSFT MT(MOD_RSFT, KC_DEL)
-
-bool capslock = false;
-#ifdef DOUBLESPACE_LAYER_ENABLE
-bool lspace_active = false;
-bool rspace_active = false;
-bool lspace_emitted = false;
-bool rspace_emitted = false;
-bool space_layer_entered = false;
-#endif
-
-// glow
-enum glow_modes {
- GLOW_NONE,
- GLOW_MIN,
- GLOW_FULL
-};
-uint8_t glow_mode = GLOW_MIN;
-
-void turn_off_capslock(void);
-extern keymap_config_t keymap_config;
-
-// layers, ordering is important!
-enum layers {
- _QWERTY,
- _DVORAK,
- _COLEMAK,
- _WORKMAN,
- _NORMAN,
- _DEFAULT_LAYER_MAX = _NORMAN,
-
- _GREEKU,
- _GREEKL,
-
- _NUM,
- _FUN,
- _PUNC,
-
- _EMPTY,
- _EMOJI,
- _GUI,
- _SYS
-};
-
-// double-space layer
-#define _SPACE _GUI
-
-enum planck_keycodes {
- // layouts
- QWERTY = SAFE_RANGE,
- DVORAK,
- COLEMAK,
- WORKMAN,
- NORMAN,
-
- // layer switchers
- EMOJI,
- GUI,
- GREEK,
-
- // os switchers
- LINUX,
- WIN,
- OSX,
-
- // others
- LSPACE,
- RSPACE,
- GLOW,
-
- // stub
-#ifndef FAUXCLICKY_ENABLE
- FC_TOG,
-#endif
-#ifndef MODULE_ADAFRUIT_BLE
- OUT_BT,
-#endif
- RGBDEMO,
- KEYCODE_END
-};
-
-#define EMPTY MO(_EMPTY)
-#define NUM MO(_NUM)
-#define FUN MO(_FUN)
-#define FUN0 LT(_FUN, KC_0)
-
-// unicode map
-
-enum unicode_name {
- GRIN, // grinning face 😊
- TJOY, // tears of joy 😂
- SMILE, // grining face with smiling eyes 😁
- HEART, // heart ❤
- EYERT, // smiling face with heart shaped eyes 😍
- CRY, // crying face 😭
- SMEYE, // smiling face with smiling eyes 😊
- UNAMU, // unamused 😒
- KISS, // kiss 😘
- HART2, // two hearts 💕
- WEARY, // weary 😩
- OKHND, // ok hand sign 👌
- PENSV, // pensive 😔
- SMIRK, // smirk 😏
- RECYC, // recycle ♻
- WINK, // wink 😉
- THMUP, // thumb up 👍
- THMDN, // thumb down 👎
- PRAY, // pray 🙏
- PHEW, // relieved 😌
- MUSIC, // musical notes
- FLUSH, // flushed 😳
- CELEB, // celebration 🙌
- CRY2, // crying face 😢
- COOL, // smile with sunglasses 😎
- NOEVS, // see no evil
- NOEVH, // hear no evil
- NOEVK, // speak no evil
- POO, // pile of poo
- EYES, // eyes
- VIC, // victory hand
- BHART, // broken heart
- SLEEP, // sleeping face
- SMIL2, // smiling face with open mouth & sweat
- HUNRD, // 100
- CONFU, // confused
- TONGU, // face with tongue & winking eye
- DISAP, // disappointed
- YUMMY, // face savoring delicious food
- CLAP, // hand clapping
- FEAR, // face screaming in fear
- HORNS, // smiling face with horns
- HALO, // smiling face with halo
- BYE, // waving hand
- SUN, // sun
- MOON, // moon
- SKULL, // skull
-
- // greek letters
- UALPH,
- UBETA,
- UGAMM,
- UDELT,
- UEPSI,
- UZETA,
- UETA,
- UTHET,
- UIOTA,
- UKAPP,
- ULAMB,
- UMU,
- UNU,
- UXI,
- UOMIC,
- UPI,
- URHO,
- USIGM,
- UTAU,
- UUPSI,
- UPHI,
- UCHI,
- UPSI,
- UOMEG,
-
- LALPH,
- LBETA,
- LGAMM,
- LDELT,
- LEPSI,
- LZETA,
- LETA,
- LTHET,
- LIOTA,
- LKAPP,
- LLAMB,
- LMU,
- LNU,
- LXI,
- LOMIC,
- LPI,
- LRHO,
- LSIGM,
- LTAU,
- LUPSI,
- LPHI,
- LCHI,
- LPSI,
- LOMEG,
-
- FSIGM,
-
- LTEQ,
- GTEQ,
- NOTEQ,
- PLMIN,
-};
-
-const uint32_t PROGMEM unicode_map[] = {
- [GRIN] = 0x1F600,
- [TJOY] = 0x1F602,
- [SMILE] = 0x1F601,
- [HEART] = 0x2764,
- [EYERT] = 0x1f60d,
- [CRY] = 0x1f62d,
- [SMEYE] = 0x1F60A,
- [UNAMU] = 0x1F612,
- [KISS] = 0x1F618,
- [HART2] = 0x1F495,
- [WEARY] = 0x1F629,
- [OKHND] = 0x1F44C,
- [PENSV] = 0x1F614,
- [SMIRK] = 0x1F60F,
- [RECYC] = 0x267B,
- [WINK] = 0x1F609,
- [THMUP] = 0x1F44D,
- [THMDN] = 0x1F44E,
- [PRAY] = 0x1F64F,
- [PHEW] = 0x1F60C,
- [MUSIC] = 0x1F3B6,
- [FLUSH] = 0x1F633,
- [CELEB] = 0x1F64C,
- [CRY2] = 0x1F622,
- [COOL] = 0x1F60E,
- [NOEVS] = 0x1F648,
- [NOEVH] = 0x1F649,
- [NOEVK] = 0x1F64A,
- [POO] = 0x1F4A9,
- [EYES] = 0x1F440,
- [VIC] = 0x270C,
- [BHART] = 0x1F494,
- [SLEEP] = 0x1F634,
- [SMIL2] = 0x1F605,
- [HUNRD] = 0x1F4AF,
- [CONFU] = 0x1F615,
- [TONGU] = 0x1F61C,
- [DISAP] = 0x1F61E,
- [YUMMY] = 0x1F60B,
- [CLAP] = 0x1F44F,
- [FEAR] = 0x1F631,
- [HORNS] = 0x1F608,
- [HALO] = 0x1F607,
- [BYE] = 0x1F44B,
- [SUN] = 0x2600,
- [MOON] = 0x1F314,
- [SKULL] = 0x1F480,
-
- // greek letters
- [UALPH] = 0x0391,
- [UBETA] = 0x0392,
- [UGAMM] = 0x0393,
- [UDELT] = 0x0394,
- [UEPSI] = 0x0395,
- [UZETA] = 0x0396,
- [UETA] = 0x0397,
- [UTHET] = 0x0398,
- [UIOTA] = 0x0399,
- [UKAPP] = 0x039A,
- [ULAMB] = 0x039B,
- [UMU] = 0x039C,
- [UNU] = 0x039D,
- [UXI] = 0x039E,
- [UOMIC] = 0x039F,
- [UPI] = 0x03A0,
- [URHO] = 0x03A1,
- [USIGM] = 0x03A3,
- [UTAU] = 0x03A4,
- [UUPSI] = 0x03A5,
- [UPHI] = 0x03A6,
- [UCHI] = 0x03A7,
- [UPSI] = 0x03A8,
- [UOMEG] = 0x03A9,
- [LALPH] = 0x03B1,
- [LBETA] = 0x03B2,
- [LGAMM] = 0x03B3,
- [LDELT] = 0x03B4,
- [LEPSI] = 0x03B5,
- [LZETA] = 0x03B6,
- [LETA] = 0x03B7,
- [LTHET] = 0x03B8,
- [LIOTA] = 0x03B9,
- [LKAPP] = 0x03BA,
- [LLAMB] = 0x03BB,
- [LMU] = 0x03BC,
- [LNU] = 0x03BD,
- [LXI] = 0x03BE,
- [LOMIC] = 0x03BF,
- [LPI] = 0x03C0,
- [LRHO] = 0x03C1,
- [LSIGM] = 0x03C3,
- [LTAU] = 0x03C4,
- [LUPSI] = 0x03C5,
- [LPHI] = 0x03C6,
- [LCHI] = 0x03C7,
- [LPSI] = 0x03C8,
- [LOMEG] = 0x03C9,
- [FSIGM] = 0x03C2,
-
- // other
- [LTEQ] = 0x2264, // less than or equal
- [GTEQ] = 0x2265, // greater than or equal
- [NOTEQ] = 0x2260, // not equal
- [PLMIN] = 0xB1, // plus minus
-};
-
-// RGBSPS
-
-#ifdef RGBSPS_ENABLE
-const uint8_t PROGMEM LED_ALNUM[] = {
- LED_Z,
- LED_A,
- LED_Q,
- LED_W,
- LED_S,
- LED_X,
- LED_C,
- LED_D,
- LED_E,
- LED_R,
- LED_F,
- LED_V,
- LED_B,
- LED_G,
- LED_T,
- LED_N,
- LED_HH,
- LED_Y,
- LED_U,
- LED_J,
- LED_M,
- LED_COMM,
- LED_K,
- LED_I,
- LED_O,
- LED_L,
- LED_DOT,
- LED_SLSH,
- LED_SCLN,
- LED_P,
- LED_LSPC,
- LED_RSPC
-};
-
-const uint8_t PROGMEM LED_HOMING[] = {
- LED_A,
- LED_S,
- LED_D,
- LED_F,
- LED_J,
- LED_K,
- LED_L,
- LED_SCLN
-};
-
-const uint8_t PROGMEM LED_MODS[] = {
- LED_TAB,
- LED_ESC,
- LED_LSFT,
- LED_LCTL,
- LED_LGUI,
- LED_LALT,
- LED_RALT,
- LED_RGUI,
- LED_BKSP,
- LED_ENT,
- LED_RSFT,
- LED_RCTL
-};
-
-const uint8_t PROGMEM LED_FN[] = {
- LED_EMPTY,
- LED_NUM,
- LED_FUN,
- LED_GREEK
-};
-
-const uint8_t PROGMEM LED_INDICATORS[] = {
- LED_IND_LINUX,
- LED_IND_APPLE,
- LED_IND_WINDOWS,
- LED_IND_QWERTY,
- LED_IND_ALT,
- LED_IND_AUDIO,
- LED_IND_BLUETOOTH,
- LED_IND_USB,
-
- LED_IND_BATTERY,
- LED_IND_CAPSLOCK,
- LED_IND_GUI,
- LED_IND_FUN,
- LED_IND_NUM,
- LED_IND_PUNC,
- LED_IND_EMOJI,
- LED_IND_GREEK,
-};
-
-const uint8_t PROGMEM LED_TRACKPOINT[] = {
- LED_TRACKPOINT1,
- LED_TRACKPOINT2,
- LED_TRACKPOINT3,
-};
-
-void led_turnoff_keys(void) {
- for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) {
- rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), COLOR_BLACK);
- }
- for(uint8_t i = 0; i < COUNT(LED_MODS); i++) {
- rgbsps_set(pgm_read_byte(&LED_MODS[i]), COLOR_BLACK);
- }
- for(uint8_t i = 0; i < COUNT(LED_FN); i++) {
- rgbsps_set(pgm_read_byte(&LED_FN[i]), COLOR_BLACK);
- }
-}
-
-#ifdef RGBSPS_DEMO_ENABLE
-void led_demo(void) {
- rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX);
- rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE);
- rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS);
- rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
- rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT);
- rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO);
- rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH);
- rgbsps_set(LED_IND_USB, THEME_COLOR_USB);
- rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
- rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI);
- rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN);
- rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM);
- rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC);
- rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK);
- rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI);
- rgbsps_send();
-}
-#endif
-
-void led_reset(void) {
- switch (glow_mode) {
- case GLOW_NONE:
- led_turnoff_keys();
- break;
- case GLOW_MIN:
- led_turnoff_keys();
- for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) {
- rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW1_HOME);
- }
- rgbsps_set(LED_F, THEME_COLOR_GLOW1_HOMING);
- rgbsps_set(LED_J, THEME_COLOR_GLOW1_HOMING);
- break;
- case GLOW_FULL:
- for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) {
- rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), THEME_COLOR_GLOW2_ALPHA);
- }
- for(uint8_t i = 0; i < COUNT(LED_MODS); i++) {
- rgbsps_set(pgm_read_byte(&LED_MODS[i]), THEME_COLOR_GLOW2_MODS);
- }
- for(uint8_t i = 0; i < COUNT(LED_FN); i++) {
- rgbsps_set(pgm_read_byte(&LED_FN[i]), THEME_COLOR_GLOW2_FN);
- }
- for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) {
- rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW2_HOME);
- }
- rgbsps_set(LED_F, THEME_COLOR_GLOW2_HOMING);
- rgbsps_set(LED_J, THEME_COLOR_GLOW2_HOMING);
- break;
- }
-}
-
-void led_set_default_layer_indicator(void) {
- uint8_t default_layer = biton32(default_layer_state);
- if (default_layer == _QWERTY) {
- rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
- rgbsps_set(LED_IND_ALT, COLOR_BLANK);
- } else {
- rgbsps_set(LED_IND_QWERTY, COLOR_BLANK);
- rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT);
- }
- rgbsps_send();
- return;
-}
-
-void led_set_layer_indicator(void) {
- static uint8_t oldlayer = 255;
-
- led_reset();
-
- rgbsps_set(LED_IND_GUI, COLOR_BLANK);
- rgbsps_set(LED_IND_FUN, COLOR_BLANK);
- rgbsps_set(LED_IND_NUM, COLOR_BLANK);
- rgbsps_set(LED_IND_PUNC, COLOR_BLANK);
- rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
- rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
-
- uint8_t layer = biton32(layer_state);
- if (oldlayer == layer) {
- return;
- }
-
- oldlayer = layer;
-
- if (layer <= _DEFAULT_LAYER_MAX) {
- rgbsps_send();
- return;
- }
-
- switch(layer) {
- case _GUI:
- rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI);
- break;
- case _FUN:
- rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN);
- break;
- case _NUM:
- rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM);
- break;
- case _PUNC:
- rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC);
- break;
- case _GREEKL:
- case _GREEKU:
- rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK);
- break;
- case _EMOJI:
- rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI);
- break;
- default:
- rgbsps_set(LED_IND_GUI, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_FUN, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_NUM, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_PUNC, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_GREEK, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_EMOJI, THEME_COLOR_OTHERLAYER);
- }
-
- rgbsps_send();
-}
-
-void led_set_unicode_input_mode(void) {
- rgbsps_set(LED_IND_LINUX, COLOR_BLANK);
- rgbsps_set(LED_IND_APPLE, COLOR_BLANK);
- rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK);
-
- switch (get_unicode_input_mode()) {
- case UC_LNX:
- rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX);
- break;
- case UC_OSX:
- rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE);
- break;
- case UC_WIN:
- case UC_WINC:
- rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS);
- break;
- }
- rgbsps_send();
-}
-
-void led_set_output_ble(void) {
- rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH);
- rgbsps_set(LED_IND_USB, COLOR_BLANK);
- rgbsps_send();
-}
-
-void led_set_output_usb(void) {
- rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK);
- rgbsps_set(LED_IND_USB, THEME_COLOR_USB);
- rgbsps_send();
-}
-
-void led_set_output_none(void) {
- rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK);
- rgbsps_set(LED_IND_USB, COLOR_BLANK);
- rgbsps_send();
-}
-
-void led_init(void) {
- // turn off all
- rgbsps_turnoff();
-
- // set trackpoint color
- rgbsps_set(LED_TRACKPOINT1, THEME_COLOR_TP1);
- rgbsps_set(LED_TRACKPOINT2, THEME_COLOR_TP2);
- rgbsps_set(LED_TRACKPOINT3, THEME_COLOR_TP3);
-
- // unicode input mode
- led_set_unicode_input_mode();
-
- // layer indicator
- led_set_layer_indicator();
- led_set_default_layer_indicator();
-
- // clicky
-#ifdef FAUXCLICKY_ENABLE
- if (fauxclicky_enabled) {
- rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO);
- } else {
- rgbsps_set(LED_IND_AUDIO, COLOR_BLANK);
- }
-#endif
-
- rgbsps_send();
-}
-
-
-#endif // RGBSPS_ENABLE
-
-// keymaps
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ' |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Fun |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, EMPTY, NUM, LSPACE, RSPACE, FUN, GREEK, KC_RGUI, C_RALT, KC_RCTL,
- _______, _______, _______
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| / | Q | J | K | X | B | M | W | V | Z |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-#ifdef LAYOUT_DVORAK
-[_DVORAK] = LAYOUT(
- _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______,
- _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, _______,
- _______, KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-
-#ifdef LAYOUT_COLEMAK
-[_COLEMAK] = LAYOUT(
- _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, _______,
- _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, _______,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Norman
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | D | F | K | J | U | R | L | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | E | T | G | Y | N | I | O | H |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | P | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-
-#ifdef LAYOUT_NORMAN
-[_NORMAN] = LAYOUT(
- _______, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_QUOT, _______,
- _______, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, _______,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Workman
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | M | C | V | K | K | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-
-#ifdef LAYOUT_WORKMAN
-[_WORKMAN] = LAYOUT(
- _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, _______,
- _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______,
- _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Punc
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ≤ | ≥ | ` |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | * | \ | - | = | / | ≠ | ( | ) | < | > | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | & | ^ | | | _ | + | ? | ± | [ | ] | { | } | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | : | |
- * `-----------------------------------------------------------------------------------'
- */
-[_PUNC] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, X(LTEQ), X(GTEQ), _______,
- KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, X(NOTEQ),KC_LPRN, KC_RPRN, KC_LABK, KC_RABK, _______,
- KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, X(PLMIN),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______,
- _______, _______, _______
-),
-
-/* Num
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | A | 7 | 8 | 9 | D | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ` | * | \ | - | = | / | B | 4 | 5 | 6 | E | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | & | ^ | | | _ | + | ? | C | 1 | 2 | 3 | F | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | x | | | | | 0 | , | . | : | |
- * `-----------------------------------------------------------------------------------'
- */
-[_NUM] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, S(KC_A), KC_1, KC_2, KC_3, S(KC_D), _______,
- KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, S(KC_B), KC_4, KC_5, KC_6, S(KC_E), _______,
- KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, S(KC_C), KC_7, KC_8, KC_9, S(KC_F), _______,
- _______, _______, KC_X, _______, _______, _______, _______, FUN0 , KC_COMM, KC_DOT, KC_COLN, _______,
- _______, _______, _______
-),
-
-/* Func
- * ,-----------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | Ins | | PgUp | Up | PgDn | PgUp | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Caps | F5 | F6 | F7 | F8 |PrtSc | | Left | Down | Right| PgDn | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F9 | F10 | F11 | F12 |Pause | | | Home | End | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_FUN] = LAYOUT(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL,
- KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______,
- _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Uppercase Greek
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GREEKU] = LAYOUT(
- _______, XXXXXXX, XXXXXXX,X(UEPSI), X(URHO), X(UTAU),X(UUPSI),X(UTHET),X(UIOTA),X(UOMIC), X(UPI), _______,
- _______,X(UALPH),X(USIGM),X(UDELT), X(UPHI),X(UGAMM), X(UETA), X(UXI),X(UKAPP),X(ULAMB), KC_QUOT, _______,
- _______,X(UZETA), X(UCHI), X(UPSI),X(UOMEG),X(UBETA), X(UNU), X(UMU), KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Lowercase Greek
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GREEKL] = LAYOUT(
- _______, XXXXXXX,X(FSIGM),X(LEPSI), X(LRHO), X(LTAU),X(LUPSI),X(LTHET),X(LIOTA),X(LOMIC), X(LPI), _______,
- _______,X(LALPH),X(LSIGM),X(LDELT), X(LPHI),X(LGAMM), X(LETA), X(LXI),X(LKAPP),X(LLAMB), KC_QUOT, _______,
- _______,X(LZETA), X(LCHI), X(LPSI),X(LOMEG),X(LBETA), X(LNU), X(LMU), KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Empty
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_EMPTY] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Emoji
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_EMOJI] = LAYOUT(
- X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW),
- X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS),
- X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH),
- X(POO), X(EYES), X(HUNRD),_______, X(SKULL),X(HORNS), X(HALO), X(FEAR),_______,X(YUMMY),X(DISAP),X(NOEVK),
- _______, _______, _______
-),
-
-/* GUI
- * ,-----------------------------------------------------------------------------------.
- * | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | | Btab | Esc | Tab | | | Prev | | Next | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | Prev | Play | Next | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GUI] = LAYOUT(
- XXXXXXX, G(KC_1), G(KC_2), G(KC_3), G(KC_4), G(KC_5), G(KC_6), G(KC_7), G(KC_8), G(KC_9), G(KC_0), XXXXXXX,
- KC_ESC, XXXXXXX, S(KC_TAB),KC_ESC, KC_TAB, XXXXXXX, XXXXXXX, KC_WWWB, XXXXXXX, KC_WWWF, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, KC_SPC, KC_SPC, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______
-),
-
-/* Sys
- * ,-----------------------------------------------------------------------------------.
- * | |Qwerty| Win | |Reset | | | USB | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | |Audio | |Dvorak| | Glow | | |WorkMn|Linux | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | |Colmak| | BLE |Norman|MacOS | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_SYS] = LAYOUT(
- DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO,
- XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BT, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, _______, _______
-),
-
-
-};
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-#ifdef RGBSPS_ENABLE
- led_set_default_layer_indicator();
-#endif
-}
-
-#ifdef DOUBLESPACE_LAYER_ENABLE
-void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *isemitted) {
- if (pressed) {
- *isactive = true;
- if (*otheractive) {
- layer_on(_SPACE);
- register_code(KC_LALT); // sends alt and enter layer
- space_layer_entered = true;
- }
- } else {
- *isactive = false;
- if (space_layer_entered) {
- unregister_code(KC_LALT); // release alt and exit layer
- layer_off(_SPACE);
- if (!*otheractive) {
- space_layer_entered = false;
- }
- } else {
- if (!*isemitted) {
- register_code(KC_SPC);
- unregister_code(KC_SPC);
- }
- *isemitted = false;
- }
- }
-}
-#endif
-
-uint32_t layer_state_set_kb(uint32_t state)
-{
- // turn on punc layer if both fun & num are on
- if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) {
- state |= (1UL<<_PUNC);
- } else {
- state &= ~(1UL<<_PUNC);
- }
-
- // turn on emoji layer if empty and greek layer are on
- if (
- (state & ((1UL<<_EMPTY) | (1UL<<_GREEKU))) == ((1UL<<_EMPTY) | (1UL<<_GREEKU))
- || (state & ((1UL<<_EMPTY) | (1UL<<_GREEKL))) == ((1UL<<_EMPTY) | (1UL<<_GREEKL))
- ) {
- state |= (1UL<<_EMOJI);
- } else {
- state &= ~(1UL<<_EMOJI);
- }
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static bool lshift = false;
- static bool rshift = false;
- static uint8_t layer = 0;
-
- lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
- rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
- layer = biton32(layer_state);
-
-#ifdef DOUBLESPACE_LAYER_ENABLE
- // double-space: send space immediately if any other key depressed before space is released
- if ((lspace_active ^ rspace_active)
- && keycode != LSPACE
- && keycode != RSPACE
- && record->event.pressed)
- {
- if (lspace_active) {
- if (!lspace_emitted) {
- register_code(KC_SPC);
- unregister_code(KC_SPC);
- }
- lspace_emitted = true;
- }
- if (rspace_active) {
- if (!rspace_emitted) {
- register_code(KC_SPC);
- unregister_code(KC_SPC);
- }
- rspace_emitted = true;
- }
- }
-
- if (layer == _SPACE && keycode != S(KC_TAB) && keycode != KC_TAB && keycode != KC_ESC && keycode != XXXXXXX) {
- if (record->event.pressed) {
- unregister_code(KC_LALT);
- } else {
- register_code(KC_LALT);
- }
- }
-#endif
-
- switch (keycode) {
-
-#ifdef DOUBLESPACE_LAYER_ENABLE
- // double-space enter space layer
- case LSPACE:
- process_doublespace(record->event.pressed, &lspace_active, &rspace_active, &lspace_emitted);
- return false;
- break;
- case RSPACE:
- process_doublespace(record->event.pressed, &rspace_active, &lspace_active, &rspace_emitted);
- return false;
- break;
-#endif
-
- // handle greek layer shift
- case KC_LSFT:
- case KC_RSFT:
- ;
- if (layer == _GREEKU || layer == _GREEKL) {
- if (record->event.pressed) {
- layer_on(_GREEKU);
- layer_off(_GREEKL);
- } else {
- if (lshift ^ rshift) { // if only one shift was pressed
- layer_on(_GREEKL);
- layer_off(_GREEKU);
- }
- }
- }
- return true;
- break;
-
- // press both ctrls to activate SYS layer
- case KC_LCTL:
- case KC_RCTL:
- ;
- bool lctrl = keyboard_report->mods & MOD_BIT(KC_LCTL);
- bool rctrl = keyboard_report->mods & MOD_BIT(KC_RCTL);
- if (record->event.pressed) {
- if (lctrl ^ rctrl) { // if only one ctrl was pressed
- layer_on(_SYS);
- }
- } else {
- layer_off(_SYS);
- }
- return true;
- break;
-
- // QWERTZ style comma and dot: semicolon and colon when shifted
- case KC_COMM:
- if (record->event.pressed) {
- if (lshift || rshift) {
- if (lshift) unregister_code(KC_LSFT);
- if (rshift) unregister_code(KC_RSFT);
- register_code(KC_SCLN);
- unregister_code(KC_SCLN);
- if (lshift) register_code(KC_LSFT);
- if (rshift) register_code(KC_RSFT);
- } else {
- register_code(KC_COMM);
- unregister_code(KC_COMM);
- }
- }
- return false;
- break;
- case KC_DOT:
- if (record->event.pressed) {
- if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT))) {
- register_code(KC_SCLN);
- unregister_code(KC_SCLN);
- } else {
- register_code(KC_DOT);
- unregister_code(KC_DOT);
- }
- }
- return false;
- break;
-
- // layout switchers
- case QWERTY:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
-#ifdef LAYOUT_DVORAK
- case DVORAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_DVORAK);
- }
- return false;
- break;
-#endif
-#ifdef LAYOUT_COLEMAK
- case COLEMAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_COLEMAK);
- }
- return false;
- break;
-#endif
-#ifdef LAYOUT_WORKMAN
- case WORKMAN:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_WORKMAN);
- }
- return false;
- break;
-#endif
-#ifdef LAYOUT_NORMAN
- case NORMAN:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_NORMAN);
- }
- return false;
- break;
-#endif
-
- // only process Fnumber on key release, and only when layer switcher is still pressed.
- // this is to avoid accidental presses on potentially destructive keys
- case KC_F1 ... KC_F12:
- case KC_PAUS:
- case KC_PSCR:
- case KC_INS:
- if (!record->event.pressed && layer == _FUN) { // key released and still in FUN layer
- register_code(keycode);
- unregister_code(keycode);
- }
- return false;
- break;
-
- // layer switcher
- //
- case GREEK:
- if (record->event.pressed) {
- if (lshift || rshift) {
- layer_on(_GREEKU);
- layer_off(_GREEKL);
- } else {
- layer_on(_GREEKL);
- layer_off(_GREEKU);
- }
- } else {
- layer_off(_GREEKU);
- layer_off(_GREEKL);
- }
- return false;
- break;
-
- // OS switchers
- case LINUX:
- set_unicode_input_mode(UC_LNX);
-#ifdef RGBSPS_ENABLE
- led_set_unicode_input_mode();
-#endif
- return false;
- break;
- case WIN:
- set_unicode_input_mode(UC_WINC);
-#ifdef RGBSPS_ENABLE
- led_set_unicode_input_mode();
-#endif
- return false;
- break;
- case OSX:
- set_unicode_input_mode(UC_OSX);
-#ifdef RGBSPS_ENABLE
- led_set_unicode_input_mode();
-#endif
- return false;
- break;
-
- // glow mode changer
-#ifdef RGBSPS_ENABLE
- case GLOW:
- if (record->event.pressed) {
- glow_mode++;
- if (glow_mode > GLOW_FULL) {
- glow_mode = GLOW_NONE;
- }
- led_reset();
- rgbsps_send();
- }
- return false;
- break;
-#endif
-
- // faux clicky indicator
-#ifdef FAUXCLICKY_ENABLE
- case FC_TOG:
-#ifdef RGBSPS_ENABLE
- if (fauxclicky_enabled) {
- rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO);
- } else {
- rgbsps_set(LED_IND_AUDIO, COLOR_BLANK);
- }
- rgbsps_send();
-#endif
- return true;
- break;
-#endif
-
-#ifdef RGBSPS_DEMO_ENABLE
- case RGBDEMO:
- led_demo();
- return false;
- break;
-#endif
- }
- return true;
-}
-
-void set_output_user(uint8_t output) {
-#ifdef MODULE_ADAFRUIT_BLE
- switch(output) {
- case OUTPUT_USB:
- led_set_output_usb();
- break;
- case OUTPUT_BLUETOOTH:
- led_set_output_ble();
- break;
- default:
- led_set_output_none();
- }
-#endif
-}
-
-void matrix_init_user() {
- _delay_ms(500); // give time for usb to initialize
-
- set_unicode_input_mode(UC_LNX);
-
-#ifdef RGBSPS_ENABLE
- led_init();
-#endif
-
- // auto detect output on init
-#ifdef MODULE_ADAFRUIT_BLE
- uint8_t output = auto_detect_output();
- if (output == OUTPUT_USB) {
- set_output(OUTPUT_USB);
- } else {
- set_output(OUTPUT_BLUETOOTH);
- }
-#endif
-}
-
-void turn_off_capslock() {
- if (capslock) {
- register_code(KC_CAPS);
- unregister_code(KC_CAPS);
- }
-}
-
-#ifdef RGBSPS_ENABLE
- void matrix_scan_user(void) {
- led_set_layer_indicator();
- }
-
- void battery_poll(uint8_t level) {
- rgbsps_sethsv(LED_IND_BATTERY, level * 120/255, 255, 15);
- rgbsps_send();
- }
-
- void led_set_user(uint8_t usb_led) {
- bool new_capslock = usb_led & (1<<USB_LED_CAPS_LOCK);
- if (new_capslock ^ capslock) { // capslock state is different
- if ((capslock = new_capslock)) {
- rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
- } else {
- rgbsps_set(LED_IND_CAPSLOCK, COLOR_BLANK);
- }
- rgbsps_send();
- }
- }
-#endif
-
-#ifdef PS2_MOUSE_ENABLE
- void ps2_mouse_init_user() {
- uint8_t rcv;
-
- // set TrackPoint sensitivity
- PS2_MOUSE_SEND(0xE2, "tpsens: 0xE2");
- PS2_MOUSE_SEND(0x81, "tpsens: 0x81");
- PS2_MOUSE_SEND(0x4A, "tpsens: 0x4A");
- PS2_MOUSE_SEND(0x49, "tpsens: 0x59");
-
- // set TrackPoint Negative Inertia factor
- PS2_MOUSE_SEND(0xE2, "tpnegin: 0xE2");
- PS2_MOUSE_SEND(0x81, "tpnegin: 0x81");
- PS2_MOUSE_SEND(0x4D, "tpnegin: 0x4D");
- PS2_MOUSE_SEND(0x06, "tpnegin: 0x06");
-
- // set TrackPoint speed
- // (transfer function upper plateau speed)
- PS2_MOUSE_SEND(0xE2, "tpsp: 0xE2");
- PS2_MOUSE_SEND(0x81, "tpsp: 0x81");
- PS2_MOUSE_SEND(0x60, "tpsp: 0x60");
- PS2_MOUSE_SEND(0x61, "tpsp: 0x61");
-
- // inquire pts status
- rcv = ps2_host_send(0xE2);
- rcv = ps2_host_send(0x2C);
- rcv = ps2_host_recv_response();
- if ((rcv & 1) == 1) {
- // if on, disable pts
- rcv = ps2_host_send(0xE2);
- rcv = ps2_host_send(0x47);
- rcv = ps2_host_send(0x2C);
- rcv = ps2_host_send(0x01);
- }
- }
-#endif
diff --git a/keyboards/handwired/promethium/keymaps/default/rgbtheme.h b/keyboards/handwired/promethium/keymaps/default/rgbtheme.h
deleted file mode 100644
index e609710351..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/rgbtheme.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "rgbtheme_default.h"
diff --git a/keyboards/handwired/promethium/keymaps/default/rgbtheme_carbon.h b/keyboards/handwired/promethium/keymaps/default/rgbtheme_carbon.h
deleted file mode 100644
index 8e0a98b092..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/rgbtheme_carbon.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "color.h"
-
-#define THEME_COLOR_LINUX COLOR_WHITE
-#define THEME_COLOR_APPLE COLOR_WHITE
-#define THEME_COLOR_WINDOWS COLOR_WHITE
-
-#define THEME_COLOR_QWERTY COLOR_RED
-#define THEME_COLOR_ALT COLOR_RED
-
-#define THEME_COLOR_AUDIO COLOR_GREEN
-
-#define THEME_COLOR_BLUETOOTH 7,7,15
-#define THEME_COLOR_USB COLOR_WHITE
-
-#define THEME_COLOR_CAPSLOCK COLOR_RED
-
-#define THEME_COLOR_GUI COLOR_MAGENTA
-#define THEME_COLOR_FUN COLOR_RED
-#define THEME_COLOR_NUM 7,7,15
-#define THEME_COLOR_PUNC COLOR_GREEN
-#define THEME_COLOR_GREEK COLOR_CYAN
-#define THEME_COLOR_EMOJI COLOR_YELLOW
-#define THEME_COLOR_OTHERLAYER COLOR_GRAY
-
-#define THEME_COLOR_GLOW1_HOME COLOR_ORANGE
-#define THEME_COLOR_GLOW1_HOMING COLOR_RED
-
-#define THEME_COLOR_GLOW2_ALPHA COLOR_ORANGE
-#define THEME_COLOR_GLOW2_MODS COLOR_ORANGE
-#define THEME_COLOR_GLOW2_FN COLOR_ORANGE
-#define THEME_COLOR_GLOW2_HOME COLOR_ORANGE
-#define THEME_COLOR_GLOW2_HOMING COLOR_RED
-
-#define THEME_COLOR_TP1 COLOR_ORANGE
-#define THEME_COLOR_TP2 COLOR_RED
-#define THEME_COLOR_TP3 COLOR_ORANGE \ No newline at end of file
diff --git a/keyboards/handwired/promethium/keymaps/default/rgbtheme_default.h b/keyboards/handwired/promethium/keymaps/default/rgbtheme_default.h
deleted file mode 100644
index 4c3fb13693..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/rgbtheme_default.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "color.h"
-
-#define THEME_COLOR_LINUX COLOR_WHITE
-#define THEME_COLOR_APPLE COLOR_WHITE
-#define THEME_COLOR_WINDOWS COLOR_WHITE
-
-#define THEME_COLOR_QWERTY COLOR_RED
-#define THEME_COLOR_ALT COLOR_RED
-
-#define THEME_COLOR_AUDIO COLOR_GREEN
-
-#define THEME_COLOR_BLUETOOTH COLOR_BLUE
-#define THEME_COLOR_USB COLOR_WHITE
-
-#define THEME_COLOR_CAPSLOCK COLOR_RED
-
-#define THEME_COLOR_GUI COLOR_MAGENTA
-#define THEME_COLOR_FUN COLOR_RED
-#define THEME_COLOR_NUM COLOR_BLUE
-#define THEME_COLOR_PUNC COLOR_GREEN
-#define THEME_COLOR_GREEK COLOR_CYAN
-#define THEME_COLOR_EMOJI COLOR_YELLOW
-#define THEME_COLOR_OTHERLAYER COLOR_GRAY
-
-#define THEME_COLOR_GLOW1_HOME COLOR_GRAY
-#define THEME_COLOR_GLOW1_HOMING COLOR_RED
-
-#define THEME_COLOR_GLOW2_ALPHA COLOR_GRAY
-#define THEME_COLOR_GLOW2_MODS COLOR_GREEN
-#define THEME_COLOR_GLOW2_FN COLOR_BLUE
-#define THEME_COLOR_GLOW2_HOME COLOR_RED
-#define THEME_COLOR_GLOW2_HOMING COLOR_YELLOW
-
-#define THEME_COLOR_TP1 COLOR_RED
-#define THEME_COLOR_TP2 COLOR_BLUE
-#define THEME_COLOR_TP3 COLOR_RED \ No newline at end of file
diff --git a/keyboards/handwired/promethium/keymaps/default/rules.mk b/keyboards/handwired/promethium/keymaps/default/rules.mk
deleted file mode 100644
index 5761be5170..0000000000
--- a/keyboards/handwired/promethium/keymaps/default/rules.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-PS2_MOUSE_ENABLE = yes
-PS2_USE_INT = yes
-FAUXCLICKY_ENABLE = yes
-BLUETOOTH = 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
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/README.md b/keyboards/handwired/promethium/keymaps/priyadi/README.md
deleted file mode 100644
index 48824b9f73..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-Priyadi Keymap for Planck-like Keyboards
-========================================
-
-Main layer modifications from default Planck layout:
-
-* Enter moved to quotes position
-* Quotes moved to semicolon position.
-* QWERTZ style colon & semicolon. shift-. = : shift-, = ; This is done in hardware, no layout switching needed in software.
-* < & > occupied precious real estate, and so they are moved down to punctuation layer.
-* Right-shift on Enter position.
-* Removed arrow keys, they are on another layer now.
-* Put Ctrl-Alt-Super and Super-AltGr-Ctrl in left & right corners.
-* Lower & Raise is now called Num and Fun.
-* OS & Left keys become another thumb modifier: Empty & Greek (Empty because I used this for another use and my muscle memory is not adapted to it yet)
-
-On Promethium, Trackpoint is enabled on PD2 and PD3. We impersonate a Thinkpad keyboard to be able to use Thinkpad driver on Windows (still needs verification).
-
-AltGr & Compose dual use key. Tap for Compose (mapped to Scroll Lock in hardware) and press for AltGr.
-
-Supported layouts: QWERTY, DVORAK, Colemak, Workman, Norman. Switchable from SYS layer. In DVORAK, semicolon is replaced by /? key.
-
-Num activates NUM layer: hexkeypad on the right side and most punctuation on the left side. Hexkeypad is optimized for C-style hex, IPv6, HTML RGB triplets, etc.
-
-Fun activates FUN layer: arrow cluster on right home row, F-numbers on left side.
-
-Pressing Num+Fun activates PUNC layer: same punctuations as NUM layer on the left side, parens on the right side.
-
-Greek activates either GREEKU or GREEKL layer, depending whether shift is pressed or not. Shift state changes are also taken into account when the layer is active.
-
-Greek+Empty activates EMOJI layer. The whole keyboard now outputs emojis!
-
-Pressing both spacebars (spacekeys, actually) activates GUI layer. QWERTYUIOP switches to a virtual desktop. J & L switches virtual desktop to the left or right. S & F behaves like Alt-Tab and Alt-Shift-Tab. This works by sending Alt press when entering the layer, and Alt release when other than S or F keys are pressed.
-
-Pressing both Ctrls activates SYS layer for configuring the keyboard.
-
-On Promethium, USB or Bluetooth output is detected on startup. If USB is connected, then USB is used initially. SYS-U and SYS-B switch output to USB or Bluetooth at runtime. Current active output is indicated with LEDs.
-
-SYS-W, SYS-L, SYS-M switch Unicode input method. SYS-Q, SYS-D, SYS-C, SYS-K, SYS-N switch to QWERTY, DVORAK, Colemak, Workman and Norman, respectively.
-
-SYS-A (mnemonic: audio) toggles faux clicky: use buzzer to emit clicks on key presses and releases.
-
-On Promethium there are 16 indicator LEDs, and under switch LEDs on each switches, including Trackpoint buttons. Totaling 67 LEDs. Output is limited to 0xF for each LEDs to conserve power. SYS-G (mnemonic: glow) toggles various backlighting modes.
-
-On Promethium, there's a LED to indicate battery level. Hue indicates level: green is full, red is empty. \ No newline at end of file
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/config.h b/keyboards/handwired/promethium/keymaps/priyadi/config.h
deleted file mode 100644
index 0630fd43e3..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#pragma once
-
-#define PRIYADI_PROMETHIUM
-
-/* bootmagic salt key */
-#define BOOTMAGIC_KEY_SALT KC_ESC
-
-/* skip bootmagic and eeconfig */
-#define BOOTMAGIC_KEY_SKIP KC_SPACE
-
-#define RGBSPS_ENABLE
-#define RGBSPS_DEMO_ENABLE
-
-#define UNICODE_TYPE_DELAY 0
-
-#define LAYOUT_DVORAK
-#define LAYOUT_COLEMAK
-#define LAYOUT_NORMAN
-#define LAYOUT_WORKMAN
-
-#define DOUBLESPACE_LAYER_ENABLE
-// #define TOLELOT_ENABLE
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/flash.sh b/keyboards/handwired/promethium/keymaps/priyadi/flash.sh
deleted file mode 100755
index 14a3b43789..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/flash.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-sleep 10
-avrdude -p m32u4 -P /dev/ttyACM0 -c avr109 -U flash:w:../../../../../.build/handwired_promethium_priyadi.hex
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
deleted file mode 100644
index 179b411ee8..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c
+++ /dev/null
@@ -1,1364 +0,0 @@
-/*
-Copyright 2017 Priyadi Iman Nurcahyo
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#if defined(PRIYADI_PROMETHIUM)
- #include "promethium.h"
-#elif defined(PRIYADI_PLANCK)
- #include "planck.h"
-#else
- #error "no keyboard defined"
-#endif
-
-#include "action_layer.h"
-#ifdef AUDIO_ENABLE
- #include "audio.h"
- #include "musical_notes.h"
-#endif
-#include "eeconfig.h"
-#include "process_unicode.h"
-#include "quantum.h"
-#ifdef RGBSPS_ENABLE
-#include "rgbsps.h"
-#include "rgbtheme.h"
-#endif
-#ifdef PS2_MOUSE_ENABLE
-#include "ps2_mouse.h"
-#include "ps2.h"
-#endif
-#ifdef FAUXCLICKY_ENABLE
-#include "fauxclicky.h"
-#ifdef RGBSPS_ENABLE
-#undef FAUXCLICKY_OFF
-#define FAUXCLICKY_OFF do { \
- fauxclicky_enabled = false; \
- rgbsps_set(LED_AUDIO, COLOR_BLANK); \
- fauxclicky_stop(); \
-} while (0)
-#undef FAUXCLICKY_ON
-#define FAUXCLICKY_ON do { \
- fauxclicky_enabled = true; \
- rgbsps_set(LED_AUDIO, THEME_COLOR_AUDIO); \
-} while (0)
-#endif
-#endif
-#include "outputselect.h"
-#include "led.h"
-#define COUNT(x) (sizeof (x) / sizeof (*(x)))
-
-#define KC_WWWB KC_WWW_BACK
-#define KC_WWWF KC_WWW_FORWARD
-
-// hybrid right-alt & scroll lock (mapped to Compose in OS)
-#define C_RALT MT(MOD_RALT, KC_SLCK)
-
-// dual use right-shift & del key
-// #define C_RSFT MT(MOD_RSFT, KC_DEL)
-
-bool capslock = false;
-#ifdef DOUBLESPACE_LAYER_ENABLE
-bool lspace_active = false;
-bool rspace_active = false;
-bool lspace_emitted = false;
-bool rspace_emitted = false;
-bool space_layer_entered = false;
-#endif
-
-// glow
-enum glow_modes {
- GLOW_NONE,
- GLOW_MIN,
- GLOW_FULL
-};
-uint8_t glow_mode = GLOW_MIN;
-
-void turn_off_capslock(void);
-extern keymap_config_t keymap_config;
-
-// layers, ordering is important!
-enum layers {
- _QWERTY,
- _DVORAK,
- _COLEMAK,
- _WORKMAN,
- _NORMAN,
- _DEFAULT_LAYER_MAX = _NORMAN,
-
- _GREEKU,
- _GREEKL,
-
- _NUM,
- _FUN,
- _PUNC,
-
- _EMPTY,
- _EMOJI,
- _GUI,
- _SYS
-};
-
-// double-space layer
-#define _SPACE _GUI
-
-enum planck_keycodes {
- // layouts
- QWERTY = SAFE_RANGE,
- DVORAK,
- COLEMAK,
- WORKMAN,
- NORMAN,
-
- // layer switchers
- EMOJI,
- GUI,
- GREEK,
-
- // os switchers
- LINUX,
- WIN,
- OSX,
-
- // others
- LSPACE,
- RSPACE,
- GLOW,
-
- // stub
-#ifndef FAUXCLICKY_ENABLE
- FC_TOG,
-#endif
-#ifndef MODULE_ADAFRUIT_BLE
- OUT_BT,
-#endif
- RGBDEMO,
- KEYCODE_END
-};
-
-#define EMPTY MO(_EMPTY)
-#define NUM MO(_NUM)
-#define FUN MO(_FUN)
-#define FUN0 LT(_FUN, KC_0)
-
-// unicode map
-
-enum unicode_name {
- GRIN, // grinning face 😊
- TJOY, // tears of joy 😂
- SMILE, // grining face with smiling eyes 😁
- HEART, // heart ❤
- EYERT, // smiling face with heart shaped eyes 😍
- CRY, // crying face 😭
- SMEYE, // smiling face with smiling eyes 😊
- UNAMU, // unamused 😒
- KISS, // kiss 😘
- HART2, // two hearts 💕
- WEARY, // weary 😩
- OKHND, // ok hand sign 👌
- PENSV, // pensive 😔
- SMIRK, // smirk 😏
- RECYC, // recycle ♻
- WINK, // wink 😉
- THMUP, // thumb up 👍
- THMDN, // thumb down 👎
- PRAY, // pray 🙏
- PHEW, // relieved 😌
- MUSIC, // musical notes
- FLUSH, // flushed 😳
- CELEB, // celebration 🙌
- CRY2, // crying face 😢
- COOL, // smile with sunglasses 😎
- NOEVS, // see no evil
- NOEVH, // hear no evil
- NOEVK, // speak no evil
- POO, // pile of poo
- EYES, // eyes
- VIC, // victory hand
- BHART, // broken heart
- SLEEP, // sleeping face
- SMIL2, // smiling face with open mouth & sweat
- HUNRD, // 100
- CONFU, // confused
- TONGU, // face with tongue & winking eye
- DISAP, // disappointed
- YUMMY, // face savoring delicious food
- CLAP, // hand clapping
- FEAR, // face screaming in fear
- HORNS, // smiling face with horns
- HALO, // smiling face with halo
- BYE, // waving hand
- SUN, // sun
- MOON, // moon
- SKULL, // skull
-
- // greek letters
- UALPH,
- UBETA,
- UGAMM,
- UDELT,
- UEPSI,
- UZETA,
- UETA,
- UTHET,
- UIOTA,
- UKAPP,
- ULAMB,
- UMU,
- UNU,
- UXI,
- UOMIC,
- UPI,
- URHO,
- USIGM,
- UTAU,
- UUPSI,
- UPHI,
- UCHI,
- UPSI,
- UOMEG,
-
- LALPH,
- LBETA,
- LGAMM,
- LDELT,
- LEPSI,
- LZETA,
- LETA,
- LTHET,
- LIOTA,
- LKAPP,
- LLAMB,
- LMU,
- LNU,
- LXI,
- LOMIC,
- LPI,
- LRHO,
- LSIGM,
- LTAU,
- LUPSI,
- LPHI,
- LCHI,
- LPSI,
- LOMEG,
-
- FSIGM,
-
- LTEQ,
- GTEQ,
- NOTEQ,
- PLMIN,
-};
-
-const uint32_t PROGMEM unicode_map[] = {
- [GRIN] = 0x1F600,
- [TJOY] = 0x1F602,
- [SMILE] = 0x1F601,
- [HEART] = 0x2764,
- [EYERT] = 0x1f60d,
- [CRY] = 0x1f62d,
- [SMEYE] = 0x1F60A,
- [UNAMU] = 0x1F612,
- [KISS] = 0x1F618,
- [HART2] = 0x1F495,
- [WEARY] = 0x1F629,
- [OKHND] = 0x1F44C,
- [PENSV] = 0x1F614,
- [SMIRK] = 0x1F60F,
- [RECYC] = 0x267B,
- [WINK] = 0x1F609,
- [THMUP] = 0x1F44D,
- [THMDN] = 0x1F44E,
- [PRAY] = 0x1F64F,
- [PHEW] = 0x1F60C,
- [MUSIC] = 0x1F3B6,
- [FLUSH] = 0x1F633,
- [CELEB] = 0x1F64C,
- [CRY2] = 0x1F622,
- [COOL] = 0x1F60E,
- [NOEVS] = 0x1F648,
- [NOEVH] = 0x1F649,
- [NOEVK] = 0x1F64A,
- [POO] = 0x1F4A9,
- [EYES] = 0x1F440,
- [VIC] = 0x270C,
- [BHART] = 0x1F494,
- [SLEEP] = 0x1F634,
- [SMIL2] = 0x1F605,
- [HUNRD] = 0x1F4AF,
- [CONFU] = 0x1F615,
- [TONGU] = 0x1F61C,
- [DISAP] = 0x1F61E,
- [YUMMY] = 0x1F60B,
- [CLAP] = 0x1F44F,
- [FEAR] = 0x1F631,
- [HORNS] = 0x1F608,
- [HALO] = 0x1F607,
- [BYE] = 0x1F44B,
- [SUN] = 0x2600,
- [MOON] = 0x1F314,
- [SKULL] = 0x1F480,
-
- // greek letters
- [UALPH] = 0x0391,
- [UBETA] = 0x0392,
- [UGAMM] = 0x0393,
- [UDELT] = 0x0394,
- [UEPSI] = 0x0395,
- [UZETA] = 0x0396,
- [UETA] = 0x0397,
- [UTHET] = 0x0398,
- [UIOTA] = 0x0399,
- [UKAPP] = 0x039A,
- [ULAMB] = 0x039B,
- [UMU] = 0x039C,
- [UNU] = 0x039D,
- [UXI] = 0x039E,
- [UOMIC] = 0x039F,
- [UPI] = 0x03A0,
- [URHO] = 0x03A1,
- [USIGM] = 0x03A3,
- [UTAU] = 0x03A4,
- [UUPSI] = 0x03A5,
- [UPHI] = 0x03A6,
- [UCHI] = 0x03A7,
- [UPSI] = 0x03A8,
- [UOMEG] = 0x03A9,
- [LALPH] = 0x03B1,
- [LBETA] = 0x03B2,
- [LGAMM] = 0x03B3,
- [LDELT] = 0x03B4,
- [LEPSI] = 0x03B5,
- [LZETA] = 0x03B6,
- [LETA] = 0x03B7,
- [LTHET] = 0x03B8,
- [LIOTA] = 0x03B9,
- [LKAPP] = 0x03BA,
- [LLAMB] = 0x03BB,
- [LMU] = 0x03BC,
- [LNU] = 0x03BD,
- [LXI] = 0x03BE,
- [LOMIC] = 0x03BF,
- [LPI] = 0x03C0,
- [LRHO] = 0x03C1,
- [LSIGM] = 0x03C3,
- [LTAU] = 0x03C4,
- [LUPSI] = 0x03C5,
- [LPHI] = 0x03C6,
- [LCHI] = 0x03C7,
- [LPSI] = 0x03C8,
- [LOMEG] = 0x03C9,
- [FSIGM] = 0x03C2,
-
- // other
- [LTEQ] = 0x2264, // less than or equal
- [GTEQ] = 0x2265, // greater than or equal
- [NOTEQ] = 0x2260, // not equal
- [PLMIN] = 0xB1, // plus minus
-};
-
-// RGBSPS
-
-#ifdef RGBSPS_ENABLE
-const uint8_t PROGMEM LED_ALNUM[] = {
- LED_Z,
- LED_A,
- LED_Q,
- LED_W,
- LED_S,
- LED_X,
- LED_C,
- LED_D,
- LED_E,
- LED_R,
- LED_F,
- LED_V,
- LED_B,
- LED_G,
- LED_T,
- LED_N,
- LED_HH,
- LED_Y,
- LED_U,
- LED_J,
- LED_M,
- LED_COMM,
- LED_K,
- LED_I,
- LED_O,
- LED_L,
- LED_DOT,
- LED_SLSH,
- LED_SCLN,
- LED_P,
- LED_LSPC,
- LED_RSPC
-};
-
-const uint8_t PROGMEM LED_HOMING[] = {
- LED_A,
- LED_S,
- LED_D,
- LED_F,
- LED_J,
- LED_K,
- LED_L,
- LED_SCLN
-};
-
-const uint8_t PROGMEM LED_MODS[] = {
- LED_TAB,
- LED_ESC,
- LED_LSFT,
- LED_LCTL,
- LED_LGUI,
- LED_LALT,
- LED_RALT,
- LED_RGUI,
- LED_BKSP,
- LED_ENT,
- LED_RSFT,
- LED_RCTL
-};
-
-const uint8_t PROGMEM LED_FN[] = {
- LED_EMPTY,
- LED_NUM,
- LED_FUN,
- LED_GREEK
-};
-
-const uint8_t PROGMEM LED_INDICATORS[] = {
- LED_IND_LINUX,
- LED_IND_APPLE,
- LED_IND_WINDOWS,
- LED_IND_QWERTY,
- LED_IND_ALT,
- LED_IND_AUDIO,
- LED_IND_BLUETOOTH,
- LED_IND_USB,
-
- LED_IND_BATTERY,
- LED_IND_CAPSLOCK,
- LED_IND_GUI,
- LED_IND_FUN,
- LED_IND_NUM,
- LED_IND_PUNC,
- LED_IND_EMOJI,
- LED_IND_GREEK,
-};
-
-const uint8_t PROGMEM LED_TRACKPOINT[] = {
- LED_TRACKPOINT1,
- LED_TRACKPOINT2,
- LED_TRACKPOINT3,
-};
-
-void led_turnoff_keys(void) {
- for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) {
- rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), COLOR_BLACK);
- }
- for(uint8_t i = 0; i < COUNT(LED_MODS); i++) {
- rgbsps_set(pgm_read_byte(&LED_MODS[i]), COLOR_BLACK);
- }
- for(uint8_t i = 0; i < COUNT(LED_FN); i++) {
- rgbsps_set(pgm_read_byte(&LED_FN[i]), COLOR_BLACK);
- }
-}
-
-#ifdef RGBSPS_DEMO_ENABLE
-void led_demo(void) {
- rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX);
- rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE);
- rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS);
- rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
- rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT);
- rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO);
- rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH);
- rgbsps_set(LED_IND_USB, THEME_COLOR_USB);
- rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
- rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI);
- rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN);
- rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM);
- rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC);
- rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK);
- rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI);
- rgbsps_send();
-}
-#endif
-
-void led_reset(void) {
- switch (glow_mode) {
- case GLOW_NONE:
- led_turnoff_keys();
- break;
- case GLOW_MIN:
- led_turnoff_keys();
- for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) {
- rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW1_HOME);
- }
- rgbsps_set(LED_F, THEME_COLOR_GLOW1_HOMING);
- rgbsps_set(LED_J, THEME_COLOR_GLOW1_HOMING);
- break;
- case GLOW_FULL:
- for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) {
- rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), THEME_COLOR_GLOW2_ALPHA);
- }
- for(uint8_t i = 0; i < COUNT(LED_MODS); i++) {
- rgbsps_set(pgm_read_byte(&LED_MODS[i]), THEME_COLOR_GLOW2_MODS);
- }
- for(uint8_t i = 0; i < COUNT(LED_FN); i++) {
- rgbsps_set(pgm_read_byte(&LED_FN[i]), THEME_COLOR_GLOW2_FN);
- }
- for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) {
- rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW2_HOME);
- }
- rgbsps_set(LED_F, THEME_COLOR_GLOW2_HOMING);
- rgbsps_set(LED_J, THEME_COLOR_GLOW2_HOMING);
- break;
- }
-}
-
-void led_set_default_layer_indicator(void) {
- uint8_t default_layer = biton32(default_layer_state);
- if (default_layer == _QWERTY) {
- rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY);
- rgbsps_set(LED_IND_ALT, COLOR_BLANK);
- } else {
- rgbsps_set(LED_IND_QWERTY, COLOR_BLANK);
- rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT);
- }
- rgbsps_send();
- return;
-}
-
-void led_set_layer_indicator(void) {
- static uint8_t oldlayer = 255;
-
- led_reset();
-
- rgbsps_set(LED_IND_GUI, COLOR_BLANK);
- rgbsps_set(LED_IND_FUN, COLOR_BLANK);
- rgbsps_set(LED_IND_NUM, COLOR_BLANK);
- rgbsps_set(LED_IND_PUNC, COLOR_BLANK);
- rgbsps_set(LED_IND_GREEK, COLOR_BLANK);
- rgbsps_set(LED_IND_EMOJI, COLOR_BLANK);
-
- uint8_t layer = biton32(layer_state);
- if (oldlayer == layer) {
- return;
- }
-
- oldlayer = layer;
-
- if (layer <= _DEFAULT_LAYER_MAX) {
- rgbsps_send();
- return;
- }
-
- switch(layer) {
- case _GUI:
- rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI);
- break;
- case _FUN:
- rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN);
- break;
- case _NUM:
- rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM);
- break;
- case _PUNC:
- rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC);
- break;
- case _GREEKL:
- case _GREEKU:
- rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK);
- break;
- case _EMOJI:
- rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI);
- break;
- default:
- rgbsps_set(LED_IND_GUI, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_FUN, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_NUM, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_PUNC, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_GREEK, THEME_COLOR_OTHERLAYER);
- rgbsps_set(LED_IND_EMOJI, THEME_COLOR_OTHERLAYER);
- }
-
- rgbsps_send();
-}
-
-void led_set_unicode_input_mode(void) {
- rgbsps_set(LED_IND_LINUX, COLOR_BLANK);
- rgbsps_set(LED_IND_APPLE, COLOR_BLANK);
- rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK);
-
- switch (get_unicode_input_mode()) {
- case UC_LNX:
- rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX);
- break;
- case UC_OSX:
- rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE);
- break;
- case UC_WIN:
- case UC_WINC:
- rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS);
- break;
- }
- rgbsps_send();
-}
-
-void led_set_output_ble(void) {
- rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH);
- rgbsps_set(LED_IND_USB, COLOR_BLANK);
- rgbsps_send();
-}
-
-void led_set_output_usb(void) {
- rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK);
- rgbsps_set(LED_IND_USB, THEME_COLOR_USB);
- rgbsps_send();
-}
-
-void led_set_output_none(void) {
- rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK);
- rgbsps_set(LED_IND_USB, COLOR_BLANK);
- rgbsps_send();
-}
-
-void led_init(void) {
- // turn off all
- rgbsps_turnoff();
-
- // set trackpoint color
- rgbsps_set(LED_TRACKPOINT1, THEME_COLOR_TP1);
- rgbsps_set(LED_TRACKPOINT2, THEME_COLOR_TP2);
- rgbsps_set(LED_TRACKPOINT3, THEME_COLOR_TP3);
-
- // unicode input mode
- led_set_unicode_input_mode();
-
- // layer indicator
- led_set_layer_indicator();
- led_set_default_layer_indicator();
-
- // clicky
-#ifdef FAUXCLICKY_ENABLE
- if (fauxclicky_enabled) {
- rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO);
- } else {
- rgbsps_set(LED_IND_AUDIO, COLOR_BLANK);
- }
-#endif
-
- rgbsps_send();
-}
-
-
-#endif // RGBSPS_ENABLE
-
-// keymaps
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ' |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Fun |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_LGUI, EMPTY, NUM, LSPACE, RSPACE, FUN, GREEK, KC_RGUI, C_RALT, KC_RCTL,
- _______, _______, _______
-),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| / | Q | J | K | X | B | M | W | V | Z |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-#ifdef LAYOUT_DVORAK
-[_DVORAK] = LAYOUT(
- _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______,
- _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, _______,
- _______, KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Colemak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-
-#ifdef LAYOUT_COLEMAK
-[_COLEMAK] = LAYOUT(
- _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, _______,
- _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, _______,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Norman
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | D | F | K | J | U | R | L | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | E | T | G | Y | N | I | O | H |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | P | M | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-
-#ifdef LAYOUT_NORMAN
-[_NORMAN] = LAYOUT(
- _______, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_QUOT, _______,
- _______, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, _______,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Workman
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | D | R | W | B | J | F | U | P | ; | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | H | T | G | Y | N | E | O | I |Enter |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | M | C | V | K | K | , | . | / |Shift |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | Punc | Num | Space | Func |Greek | GUI |AltGr | Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-
-#ifdef LAYOUT_WORKMAN
-[_WORKMAN] = LAYOUT(
- _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, _______,
- _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______,
- _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-#endif
-
-/* Punc
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ≤ | ≥ | ` |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | * | \ | - | = | / | ≠ | ( | ) | < | > | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | & | ^ | | | _ | + | ? | ± | [ | ] | { | } | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | : | |
- * `-----------------------------------------------------------------------------------'
- */
-[_PUNC] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, X(LTEQ), X(GTEQ), _______,
- KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, X(NOTEQ),KC_LPRN, KC_RPRN, KC_LABK, KC_RABK, _______,
- KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, X(PLMIN),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______,
- _______, _______, _______
-),
-
-/* Num
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | A | 7 | 8 | 9 | D | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ` | * | \ | - | = | / | B | 4 | 5 | 6 | E | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | & | ^ | | | _ | + | ? | C | 1 | 2 | 3 | F | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | x | | | | | 0 | , | . | : | |
- * `-----------------------------------------------------------------------------------'
- */
-[_NUM] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, S(KC_A), KC_1, KC_2, KC_3, S(KC_D), _______,
- KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, S(KC_B), KC_4, KC_5, KC_6, S(KC_E), _______,
- KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, S(KC_C), KC_7, KC_8, KC_9, S(KC_F), _______,
- _______, _______, KC_X, _______, _______, _______, _______, FUN0 , KC_COMM, KC_DOT, KC_COLN, _______,
- _______, _______, _______
-),
-
-/* Func
- * ,-----------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | Ins | | PgUp | Up | PgDn | PgUp | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Caps | F5 | F6 | F7 | F8 |PrtSc | | Left | Down | Right| PgDn | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F9 | F10 | F11 | F12 |Pause | | | Home | End | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_FUN] = LAYOUT(
- XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL,
- KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______,
- _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Uppercase Greek
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GREEKU] = LAYOUT(
- _______, XXXXXXX, XXXXXXX,X(UEPSI), X(URHO), X(UTAU),X(UUPSI),X(UTHET),X(UIOTA),X(UOMIC), X(UPI), _______,
- _______,X(UALPH),X(USIGM),X(UDELT), X(UPHI),X(UGAMM), X(UETA), X(UXI),X(UKAPP),X(ULAMB), KC_QUOT, _______,
- _______,X(UZETA), X(UCHI), X(UPSI),X(UOMEG),X(UBETA), X(UNU), X(UMU), KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Lowercase Greek
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GREEKL] = LAYOUT(
- _______, XXXXXXX,X(FSIGM),X(LEPSI), X(LRHO), X(LTAU),X(LUPSI),X(LTHET),X(LIOTA),X(LOMIC), X(LPI), _______,
- _______,X(LALPH),X(LSIGM),X(LDELT), X(LPHI),X(LGAMM), X(LETA), X(LXI),X(LKAPP),X(LLAMB), KC_QUOT, _______,
- _______,X(LZETA), X(LCHI), X(LPSI),X(LOMEG),X(LBETA), X(LNU), X(LMU), KC_COMM, KC_DOT, KC_SLSH, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Empty
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_EMPTY] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______
-),
-
-/* Emoji
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_EMOJI] = LAYOUT(
- X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW),
- X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS),
- X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH),
- X(POO), X(EYES), X(HUNRD),_______, X(SKULL),X(HORNS), X(HALO), X(FEAR),_______,X(YUMMY),X(DISAP),X(NOEVK),
- _______, _______, _______
-),
-
-/* GUI
- * ,-----------------------------------------------------------------------------------.
- * | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | | Btab | Esc | Tab | | | Prev | | Next | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | Prev | Play | Next | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_GUI] = LAYOUT(
- XXXXXXX, G(KC_1), G(KC_2), G(KC_3), G(KC_4), G(KC_5), G(KC_6), G(KC_7), G(KC_8), G(KC_9), G(KC_0), XXXXXXX,
- KC_ESC, XXXXXXX, S(KC_TAB),KC_ESC, KC_TAB, XXXXXXX, XXXXXXX, KC_WWWB, XXXXXXX, KC_WWWF, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, KC_SPC, KC_SPC, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______
-),
-
-/* Sys
- * ,-----------------------------------------------------------------------------------.
- * | |Qwerty| Win | |Reset | | | USB | | | | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | |Audio | |Dvorak| | Glow | | |WorkMn|Linux | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | |Colmak| | BLE |Norman|MacOS | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_SYS] = LAYOUT(
- DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO,
- XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BT, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- _______, _______, _______
-),
-
-
-};
-
-void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-#ifdef RGBSPS_ENABLE
- led_set_default_layer_indicator();
-#endif
-}
-
-#ifdef DOUBLESPACE_LAYER_ENABLE
-void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *isemitted) {
- if (pressed) {
- *isactive = true;
- if (*otheractive) {
- layer_on(_SPACE);
- register_code(KC_LALT); // sends alt and enter layer
- space_layer_entered = true;
- }
- } else {
- *isactive = false;
- if (space_layer_entered) {
- unregister_code(KC_LALT); // release alt and exit layer
- layer_off(_SPACE);
- if (!*otheractive) {
- space_layer_entered = false;
- }
- } else {
- if (!*isemitted) {
- register_code(KC_SPC);
- unregister_code(KC_SPC);
- }
- *isemitted = false;
- }
- }
-}
-#endif
-
-uint32_t layer_state_set_kb(uint32_t state)
-{
- // turn on punc layer if both fun & num are on
- if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) {
- state |= (1UL<<_PUNC);
- } else {
- state &= ~(1UL<<_PUNC);
- }
-
- // turn on emoji layer if empty and greek layer are on
- if (
- (state & ((1UL<<_EMPTY) | (1UL<<_GREEKU))) == ((1UL<<_EMPTY) | (1UL<<_GREEKU))
- || (state & ((1UL<<_EMPTY) | (1UL<<_GREEKL))) == ((1UL<<_EMPTY) | (1UL<<_GREEKL))
- ) {
- state |= (1UL<<_EMOJI);
- } else {
- state &= ~(1UL<<_EMOJI);
- }
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static bool lshift = false;
- static bool rshift = false;
- static uint8_t layer = 0;
-
- lshift = keyboard_report->mods & MOD_BIT(KC_LSFT);
- rshift = keyboard_report->mods & MOD_BIT(KC_RSFT);
- layer = biton32(layer_state);
-
-#ifdef DOUBLESPACE_LAYER_ENABLE
- // double-space: send space immediately if any other key depressed before space is released
- if ((lspace_active ^ rspace_active)
- && keycode != LSPACE
- && keycode != RSPACE
- && record->event.pressed)
- {
- if (lspace_active) {
- if (!lspace_emitted) {
- register_code(KC_SPC);
- unregister_code(KC_SPC);
- }
- lspace_emitted = true;
- }
- if (rspace_active) {
- if (!rspace_emitted) {
- register_code(KC_SPC);
- unregister_code(KC_SPC);
- }
- rspace_emitted = true;
- }
- }
-
- if (layer == _SPACE && keycode != S(KC_TAB) && keycode != KC_TAB && keycode != KC_ESC && keycode != XXXXXXX) {
- if (record->event.pressed) {
- unregister_code(KC_LALT);
- } else {
- register_code(KC_LALT);
- }
- }
-#endif
-
- switch (keycode) {
-
-#ifdef DOUBLESPACE_LAYER_ENABLE
- // double-space enter space layer
- case LSPACE:
- process_doublespace(record->event.pressed, &lspace_active, &rspace_active, &lspace_emitted);
- return false;
- break;
- case RSPACE:
- process_doublespace(record->event.pressed, &rspace_active, &lspace_active, &rspace_emitted);
- return false;
- break;
-#endif
-
- // handle greek layer shift
- case KC_LSFT:
- case KC_RSFT:
- ;
- if (layer == _GREEKU || layer == _GREEKL) {
- if (record->event.pressed) {
- layer_on(_GREEKU);
- layer_off(_GREEKL);
- } else {
- if (lshift ^ rshift) { // if only one shift was pressed
- layer_on(_GREEKL);
- layer_off(_GREEKU);
- }
- }
- }
- return true;
- break;
-
- // press both ctrls to activate SYS layer
- case KC_LCTL:
- case KC_RCTL:
- ;
- bool lctrl = keyboard_report->mods & MOD_BIT(KC_LCTL);
- bool rctrl = keyboard_report->mods & MOD_BIT(KC_RCTL);
- if (record->event.pressed) {
- if (lctrl ^ rctrl) { // if only one ctrl was pressed
- layer_on(_SYS);
- }
- } else {
- layer_off(_SYS);
- }
- return true;
- break;
-
- // QWERTZ style comma and dot: semicolon and colon when shifted
- case KC_COMM:
- if (record->event.pressed) {
- if (lshift || rshift) {
- if (lshift) unregister_code(KC_LSFT);
- if (rshift) unregister_code(KC_RSFT);
- register_code(KC_SCLN);
- unregister_code(KC_SCLN);
- if (lshift) register_code(KC_LSFT);
- if (rshift) register_code(KC_RSFT);
- } else {
- register_code(KC_COMM);
- unregister_code(KC_COMM);
- }
- }
- return false;
- break;
- case KC_DOT:
- if (record->event.pressed) {
- if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) || (keyboard_report->mods & MOD_BIT(KC_RSFT))) {
- register_code(KC_SCLN);
- unregister_code(KC_SCLN);
- } else {
- register_code(KC_DOT);
- unregister_code(KC_DOT);
- }
- }
- return false;
- break;
-
- // layout switchers
- case QWERTY:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_QWERTY);
- }
- return false;
- break;
-#ifdef LAYOUT_DVORAK
- case DVORAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_DVORAK);
- }
- return false;
- break;
-#endif
-#ifdef LAYOUT_COLEMAK
- case COLEMAK:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_COLEMAK);
- }
- return false;
- break;
-#endif
-#ifdef LAYOUT_WORKMAN
- case WORKMAN:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_WORKMAN);
- }
- return false;
- break;
-#endif
-#ifdef LAYOUT_NORMAN
- case NORMAN:
- if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_NORMAN);
- }
- return false;
- break;
-#endif
-
- // only process Fnumber on key release, and only when layer switcher is still pressed.
- // this is to avoid accidental presses on potentially destructive keys
- case KC_F1 ... KC_F12:
- case KC_PAUS:
- case KC_PSCR:
- case KC_INS:
- if (!record->event.pressed && layer == _FUN) { // key released and still in FUN layer
- register_code(keycode);
- unregister_code(keycode);
- }
- return false;
- break;
-
- // layer switcher
- //
- case GREEK:
- if (record->event.pressed) {
- if (lshift || rshift) {
- layer_on(_GREEKU);
- layer_off(_GREEKL);
- } else {
- layer_on(_GREEKL);
- layer_off(_GREEKU);
- }
- } else {
- layer_off(_GREEKU);
- layer_off(_GREEKL);
- }
- return false;
- break;
-
- // OS switchers
- case LINUX:
- set_unicode_input_mode(UC_LNX);
-#ifdef RGBSPS_ENABLE
- led_set_unicode_input_mode();
-#endif
- return false;
- break;
- case WIN:
- set_unicode_input_mode(UC_WINC);
-#ifdef RGBSPS_ENABLE
- led_set_unicode_input_mode();
-#endif
- return false;
- break;
- case OSX:
- set_unicode_input_mode(UC_OSX);
-#ifdef RGBSPS_ENABLE
- led_set_unicode_input_mode();
-#endif
- return false;
- break;
-
- // glow mode changer
-#ifdef RGBSPS_ENABLE
- case GLOW:
- if (record->event.pressed) {
- glow_mode++;
- if (glow_mode > GLOW_FULL) {
- glow_mode = GLOW_NONE;
- }
- led_reset();
- rgbsps_send();
- }
- return false;
- break;
-#endif
-
- // faux clicky indicator
-#ifdef FAUXCLICKY_ENABLE
- case FC_TOG:
-#ifdef RGBSPS_ENABLE
- if (fauxclicky_enabled) {
- rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO);
- } else {
- rgbsps_set(LED_IND_AUDIO, COLOR_BLANK);
- }
- rgbsps_send();
-#endif
- return true;
- break;
-#endif
-
-#ifdef RGBSPS_DEMO_ENABLE
- case RGBDEMO:
- led_demo();
- return false;
- break;
-#endif
- }
- return true;
-}
-
-void set_output_user(uint8_t output) {
-#ifdef MODULE_ADAFRUIT_BLE
- switch(output) {
- case OUTPUT_USB:
- led_set_output_usb();
- break;
- case OUTPUT_BLUETOOTH:
- led_set_output_ble();
- break;
- default:
- led_set_output_none();
- }
-#endif
-}
-
-void matrix_init_user() {
- _delay_ms(500); // give time for usb to initialize
-
- set_unicode_input_mode(UC_LNX);
-
-#ifdef RGBSPS_ENABLE
- led_init();
-#endif
-
- // auto detect output on init
-#ifdef MODULE_ADAFRUIT_BLE
- uint8_t output = auto_detect_output();
- if (output == OUTPUT_USB) {
- set_output(OUTPUT_USB);
- } else {
- set_output(OUTPUT_BLUETOOTH);
- }
-#endif
-}
-
-void turn_off_capslock() {
- if (capslock) {
- register_code(KC_CAPS);
- unregister_code(KC_CAPS);
- }
-}
-
-#ifdef RGBSPS_ENABLE
- void matrix_scan_user(void) {
- led_set_layer_indicator();
- }
-
- void battery_poll(uint8_t level) {
- rgbsps_sethsv(LED_IND_BATTERY, level * 120/255, 255, 15);
- rgbsps_send();
- }
-
- void led_set_user(uint8_t usb_led) {
- bool new_capslock = usb_led & (1<<USB_LED_CAPS_LOCK);
- if (new_capslock ^ capslock) { // capslock state is different
- if ((capslock = new_capslock)) {
- rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK);
- } else {
- rgbsps_set(LED_IND_CAPSLOCK, COLOR_BLANK);
- }
- rgbsps_send();
- }
- }
-#endif
-
-#ifdef PS2_MOUSE_ENABLE
- void ps2_mouse_init_user() {
- uint8_t rcv;
-
- // set TrackPoint sensitivity
- PS2_MOUSE_SEND(0xE2, "tpsens: 0xE2");
- PS2_MOUSE_SEND(0x81, "tpsens: 0x81");
- PS2_MOUSE_SEND(0x4A, "tpsens: 0x4A");
- PS2_MOUSE_SEND(0x49, "tpsens: 0x59");
-
- // set TrackPoint Negative Inertia factor
- PS2_MOUSE_SEND(0xE2, "tpnegin: 0xE2");
- PS2_MOUSE_SEND(0x81, "tpnegin: 0x81");
- PS2_MOUSE_SEND(0x4D, "tpnegin: 0x4D");
- PS2_MOUSE_SEND(0x06, "tpnegin: 0x06");
-
- // set TrackPoint speed
- // (transfer function upper plateau speed)
- PS2_MOUSE_SEND(0xE2, "tpsp: 0xE2");
- PS2_MOUSE_SEND(0x81, "tpsp: 0x81");
- PS2_MOUSE_SEND(0x60, "tpsp: 0x60");
- PS2_MOUSE_SEND(0x61, "tpsp: 0x61");
-
- // inquire pts status
- rcv = ps2_host_send(0xE2);
- rcv = ps2_host_send(0x2C);
- rcv = ps2_host_recv_response();
- if ((rcv & 1) == 1) {
- // if on, disable pts
- rcv = ps2_host_send(0xE2);
- rcv = ps2_host_send(0x47);
- rcv = ps2_host_send(0x2C);
- rcv = ps2_host_send(0x01);
- }
- }
-#endif
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme.h b/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme.h
deleted file mode 100644
index e609710351..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "rgbtheme_default.h"
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_carbon.h b/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_carbon.h
deleted file mode 100644
index 8e0a98b092..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_carbon.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "color.h"
-
-#define THEME_COLOR_LINUX COLOR_WHITE
-#define THEME_COLOR_APPLE COLOR_WHITE
-#define THEME_COLOR_WINDOWS COLOR_WHITE
-
-#define THEME_COLOR_QWERTY COLOR_RED
-#define THEME_COLOR_ALT COLOR_RED
-
-#define THEME_COLOR_AUDIO COLOR_GREEN
-
-#define THEME_COLOR_BLUETOOTH 7,7,15
-#define THEME_COLOR_USB COLOR_WHITE
-
-#define THEME_COLOR_CAPSLOCK COLOR_RED
-
-#define THEME_COLOR_GUI COLOR_MAGENTA
-#define THEME_COLOR_FUN COLOR_RED
-#define THEME_COLOR_NUM 7,7,15
-#define THEME_COLOR_PUNC COLOR_GREEN
-#define THEME_COLOR_GREEK COLOR_CYAN
-#define THEME_COLOR_EMOJI COLOR_YELLOW
-#define THEME_COLOR_OTHERLAYER COLOR_GRAY
-
-#define THEME_COLOR_GLOW1_HOME COLOR_ORANGE
-#define THEME_COLOR_GLOW1_HOMING COLOR_RED
-
-#define THEME_COLOR_GLOW2_ALPHA COLOR_ORANGE
-#define THEME_COLOR_GLOW2_MODS COLOR_ORANGE
-#define THEME_COLOR_GLOW2_FN COLOR_ORANGE
-#define THEME_COLOR_GLOW2_HOME COLOR_ORANGE
-#define THEME_COLOR_GLOW2_HOMING COLOR_RED
-
-#define THEME_COLOR_TP1 COLOR_ORANGE
-#define THEME_COLOR_TP2 COLOR_RED
-#define THEME_COLOR_TP3 COLOR_ORANGE \ No newline at end of file
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_default.h b/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_default.h
deleted file mode 100644
index 4c3fb13693..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_default.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "color.h"
-
-#define THEME_COLOR_LINUX COLOR_WHITE
-#define THEME_COLOR_APPLE COLOR_WHITE
-#define THEME_COLOR_WINDOWS COLOR_WHITE
-
-#define THEME_COLOR_QWERTY COLOR_RED
-#define THEME_COLOR_ALT COLOR_RED
-
-#define THEME_COLOR_AUDIO COLOR_GREEN
-
-#define THEME_COLOR_BLUETOOTH COLOR_BLUE
-#define THEME_COLOR_USB COLOR_WHITE
-
-#define THEME_COLOR_CAPSLOCK COLOR_RED
-
-#define THEME_COLOR_GUI COLOR_MAGENTA
-#define THEME_COLOR_FUN COLOR_RED
-#define THEME_COLOR_NUM COLOR_BLUE
-#define THEME_COLOR_PUNC COLOR_GREEN
-#define THEME_COLOR_GREEK COLOR_CYAN
-#define THEME_COLOR_EMOJI COLOR_YELLOW
-#define THEME_COLOR_OTHERLAYER COLOR_GRAY
-
-#define THEME_COLOR_GLOW1_HOME COLOR_GRAY
-#define THEME_COLOR_GLOW1_HOMING COLOR_RED
-
-#define THEME_COLOR_GLOW2_ALPHA COLOR_GRAY
-#define THEME_COLOR_GLOW2_MODS COLOR_GREEN
-#define THEME_COLOR_GLOW2_FN COLOR_BLUE
-#define THEME_COLOR_GLOW2_HOME COLOR_RED
-#define THEME_COLOR_GLOW2_HOMING COLOR_YELLOW
-
-#define THEME_COLOR_TP1 COLOR_RED
-#define THEME_COLOR_TP2 COLOR_BLUE
-#define THEME_COLOR_TP3 COLOR_RED \ No newline at end of file
diff --git a/keyboards/handwired/promethium/keymaps/priyadi/rules.mk b/keyboards/handwired/promethium/keymaps/priyadi/rules.mk
deleted file mode 100644
index 5761be5170..0000000000
--- a/keyboards/handwired/promethium/keymaps/priyadi/rules.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-PS2_MOUSE_ENABLE = yes
-PS2_USE_INT = yes
-FAUXCLICKY_ENABLE = yes
-BLUETOOTH = 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
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/matrix.c b/keyboards/handwired/promethium/matrix.c
deleted file mode 100644
index 0b4456e289..0000000000
--- a/keyboards/handwired/promethium/matrix.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-Copyright 2014 Jack Humbert
-Copyright 2017 Priyadi Iman Nurcahyo
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include <stdint.h>
-#include <stdbool.h>
-#if defined(__AVR__)
-#include <avr/io.h>
-#endif
-#include "wait.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "timer.h"
-
-
-/* Set 0 if debouncing isn't needed */
-
-#ifndef DEBOUNCING_DELAY
-# define DEBOUNCING_DELAY 5
-#endif
-
-#if (DEBOUNCING_DELAY > 0)
- static uint16_t debouncing_time;
- static bool debouncing = false;
-#endif
-
-#if (MATRIX_COLS <= 8)
-# define print_matrix_header() print("\nr/c 01234567\n")
-# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
-# define matrix_bitpop(i) bitpop(matrix[i])
-# define ROW_SHIFTER ((uint8_t)1)
-#elif (MATRIX_COLS <= 16)
-# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
-# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
-# define matrix_bitpop(i) bitpop16(matrix[i])
-# define ROW_SHIFTER ((uint16_t)1)
-#elif (MATRIX_COLS <= 32)
-# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
-# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
-# define matrix_bitpop(i) bitpop32(matrix[i])
-# define ROW_SHIFTER ((uint32_t)1)
-#endif
-
-#ifdef MATRIX_MASKED
- extern const matrix_row_t matrix_mask[];
-#endif
-
-static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-static const uint8_t tp_pins[3] = TRACKPOINT_PINS;
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-static void init_cols(void);
-static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-static void unselect_row(uint8_t row);
-
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-inline
-uint8_t matrix_rows(void) {
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void) {
- return MATRIX_COLS;
-}
-
-void matrix_init(void) {
-
- // To use PORTF disable JTAG with writing JTD bit twice within four cycles.
- #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__))
- MCUCR |= _BV(JTD);
- MCUCR |= _BV(JTD);
- #endif
-
- // initialize row and col
- unselect_rows();
- init_cols();
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
-
- matrix_init_quantum();
-}
-
-uint8_t matrix_scan(void)
-{
- // Set row, read cols
- for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
-# if (DEBOUNCING_DELAY > 0)
- bool matrix_changed = read_cols_on_row(matrix_debouncing, current_row);
-
- if (matrix_changed) {
- debouncing = true;
- debouncing_time = timer_read();
- }
-
-# else
- read_cols_on_row(matrix, current_row);
-# endif
-
- }
-
-# if (DEBOUNCING_DELAY > 0)
- if (debouncing && (timer_elapsed(debouncing_time) > DEBOUNCING_DELAY)) {
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- matrix[i] = matrix_debouncing[i];
- }
- debouncing = false;
- }
-# endif
-
- matrix_scan_quantum();
- return 1;
-}
-
-bool matrix_is_modified(void)
-{
-#if (DEBOUNCING_DELAY > 0)
- if (debouncing) return false;
-#endif
- return true;
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-
-{
- return (matrix[row] & ((matrix_row_t)1<<col));
-}
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
- // Matrix mask lets you disable switches in the returned matrix data. For example, if you have a
- // switch blocker installed and the switch is always pressed.
-#ifdef MATRIX_MASKED
- return matrix[row] & matrix_mask[row];
-#else
- return matrix[row];
-#endif
-}
-
-void matrix_print(void)
-{
- print_matrix_header();
-
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- print_matrix_row(row);
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += matrix_bitpop(i);
- }
- return count;
-}
-
-
-#define ROW_MASK 0b11100000
-
-static const uint8_t row_bit[MATRIX_ROWS] = {
- // 76543210
- 0b00000000,
- 0b00100000,
- 0b01000000,
- 0b01100000,
- 0b10000000,
- 0b10100000,
- 0b11000000,
- 0b11100000,
-};
-
-static void init_cols(void)
-{
- // columns
- for(uint8_t x = 0; x < MATRIX_COLS; x++) {
- uint8_t pin = col_pins[x];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- }
-
- // rows
- DDRF |= ROW_MASK;
- PORTF &= ~ROW_MASK;
-
- // trackpoint
- for(uint8_t x = 0; x < 3; x++) {
- uint8_t pin = tp_pins[x];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- }
-}
-
-static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
- {
- // Store last value of row prior to reading
- matrix_row_t last_row_value = current_matrix[current_row];
-
- // Clear data in matrix row
- current_matrix[current_row] = 0;
-
- // special case for trackpoint
- if (current_row == 8) {
- for(uint8_t tp_index = 0; tp_index < 3; tp_index++) {
-
- // Select the TP pin to read (active low)
- uint8_t pin = tp_pins[tp_index];
- uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF));
-
- // Populate the matrix row with the state of the col pin
- current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << tp_index);
- }
- return (last_row_value != current_matrix[current_row]);
- }
-
- // Select row and wait for row selecton to stabilize
- select_row(current_row);
- _delay_us(5); // without this wait it won't read stable value.
- // wait_us(50);
-
- // For each col...
- for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
-
- // Select the col pin to read (active low)
- uint8_t pin = col_pins[col_index];
- uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF));
-
- // Populate the matrix row with the state of the col pin
- current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index);
- }
-
- // Unselect row
- unselect_row(current_row);
-
- return (last_row_value != current_matrix[current_row]);
-}
-
-static void select_row(uint8_t row)
-{
- PORTF = row_bit[row] | (PORTF & ~ROW_MASK);
-}
-
-static void unselect_row(uint8_t row)
-{
-}
-
-static void unselect_rows(void)
-{
-}
-
diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c
deleted file mode 100644
index 3cc0f5a8c8..0000000000
--- a/keyboards/handwired/promethium/promethium.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include "promethium.h"
-#include "analog.h"
-#include "timer.h"
-#include "matrix.h"
-#include "musical_notes.h"
-
-float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A4, 0.0625);
-float fauxclicky_released_note[2] = MUSICAL_NOTE(_A4, 0.0625);
-float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C6, 0.25);
-
-// cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100}
-
-uint8_t battery_level(void) {
- float voltage = analogRead(BATTERY_PIN) * 2 * 3.3 / 1024;
- if (voltage < MIN_VOLTAGE) return 0;
- if (voltage > MAX_VOLTAGE) return 255;
- return (voltage - MIN_VOLTAGE) / (MAX_VOLTAGE - MIN_VOLTAGE) * 255;
-}
-
-__attribute__ ((weak))
-void battery_poll(uint8_t level) {
-}
-
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- static uint16_t counter = BATTERY_POLL;
- counter++;
-
- if (counter > BATTERY_POLL) {
- counter = 0;
- battery_poll(battery_level());
- }
-
- matrix_scan_user();
-}
-
-void led_set_kb(uint8_t usb_led) {
- led_set_user(usb_led);
-}
-
-__attribute__ ((weak))
-void led_set_user(uint8_t usb_led) {
-}
-
diff --git a/keyboards/handwired/promethium/promethium.h b/keyboards/handwired/promethium/promethium.h
deleted file mode 100644
index b8d6352201..0000000000
--- a/keyboards/handwired/promethium/promethium.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef PROMETHIUM_H
-#define PROMETHIUM_H
-
-#include "stdint.h"
-
-void battery_poll(uint8_t level);
-void led_set_kb(uint8_t usb_led);
-void led_set_user(uint8_t usb_led);
-
-#define LAYOUT( \
- k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
- k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
- k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
- k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, \
- tp1, tp2, tp3 \
-) \
-{ \
- {k11, k12, k13, k14, k15, k16}, \
- {k21, k22, k23, k24, k25, k26}, \
- {k31, k32, k33, k34, k35, k36}, \
- {k41, k42, k43, k44, k45, k46}, \
- {k17, k18, k19, k1a, k1b, k1c}, \
- {k27, k28, k29, k2a, k2b, k2c}, \
- {k37, k38, k39, k3a, k3b, k3c}, \
- {k47, k48, k49, k4a, k4b, k4c}, \
- {tp1, tp2, tp3, KC_NO, KC_NO, KC_NO} \
-}
-
-#endif
diff --git a/keyboards/handwired/promethium/readme.md b/keyboards/handwired/promethium/readme.md
deleted file mode 100644
index e63d2f1add..0000000000
--- a/keyboards/handwired/promethium/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Promethium Keyboard Firmware
-============================
-A handwired Planck based keyboard using the Adafruit Feather 32u4 Bluefruit LE controller.
-
-Features:
-
-* Single piece split form factor
-* Columnar stagger
-* Trackpoint
-* Bluetooth LE *TBD*
-* Battery
-* Per switch RGB LED
-* Proximity sensor for energy conservation *TBD* \ No newline at end of file
diff --git a/keyboards/handwired/promethium/rgbsps.c b/keyboards/handwired/promethium/rgbsps.c
deleted file mode 100644
index 84fac1ae1f..0000000000
--- a/keyboards/handwired/promethium/rgbsps.c
+++ /dev/null
@@ -1,73 +0,0 @@
-#include "ws2812.h"
-#include "rgbsps.h"
-
-struct cRGB led[RGBSPS_NUM];
-
-void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b) {
- led[index].r = r;
- led[index].g = g;
- led[index].b = b;
-}
-
-void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b) {
- for (uint16_t i = 0; i < RGBSPS_NUM; i++) {
- rgbsps_set(i, r, g, b);
- }
-}
-
-void rgbsps_turnoff(void) {
- rgbsps_setall(0, 0, 0);
-}
-
-void rgbsps_send(void) {
- ws2812_setleds(led, RGBSPS_NUM);
-}
-
-void rgbsps_sethsv(uint8_t index, uint16_t hue, uint8_t sat, uint8_t val) {
- uint8_t r = 0, g = 0, b = 0, base, color;
-
- if (sat == 0) { // Acromatic color (gray). Hue doesn't mind.
- r = val;
- g = val;
- b = val;
- } else {
- base = ((255 - sat) * val) >> 8;
- color = (val - base) * (hue % 60) / 60;
-
- switch (hue / 60) {
- case 0:
- r = val;
- g = base + color;
- b = base;
- break;
- case 1:
- r = val - color;
- g = val;
- b = base;
- break;
- case 2:
- r = base;
- g = val;
- b = base + color;
- break;
- case 3:
- r = base;
- g = val - color;
- b = val;
- break;
- case 4:
- r = base + color;
- g = base;
- b = val;
- break;
- case 5:
- r = val;
- g = base;
- b = val - color;
- break;
- }
- }
-
- rgbsps_set(index, r, g, b);
-}
-
diff --git a/keyboards/handwired/promethium/rgbsps.h b/keyboards/handwired/promethium/rgbsps.h
deleted file mode 100644
index 72612a7a82..0000000000
--- a/keyboards/handwired/promethium/rgbsps.h
+++ /dev/null
@@ -1,5 +0,0 @@
-void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b);
-void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b);
-void rgbsps_turnoff(void);
-void rgbsps_send(void);
-void rgbsps_sethsv(uint8_t index, uint16_t hue, uint8_t sat, uint8_t val); \ No newline at end of file
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
deleted file mode 100644
index 21328b7f8e..0000000000
--- a/keyboards/handwired/promethium/rules.mk
+++ /dev/null
@@ -1,78 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 8000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-UNICODEMAP_ENABLE = yes
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-PS2_MOUSE_ENABLE = yes
-PS2_USE_INT = yes
-API_SYSEX_ENABLE = no
-CUSTOM_MATRIX = yes
-BLUETOOTH = AdafruitBLE
-
-# 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
-SRC += matrix.c
diff --git a/keyboards/handwired/pteron/config.h b/keyboards/handwired/pteron/config.h
deleted file mode 100644
index d0b074c681..0000000000
--- a/keyboards/handwired/pteron/config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK Community
-#define PRODUCT Pteron Keyboard
-#define DESCRIPTION Pteron Keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 12
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D7, E6, B4, B5, B6 }
-#define MATRIX_COL_PINS { F4, F6, F5, F7, B1, B3, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5 // 5 is default
-
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
diff --git a/keyboards/handwired/pteron/info.json b/keyboards/handwired/pteron/info.json
deleted file mode 100644
index 7b3b1b696f..0000000000
--- a/keyboards/handwired/pteron/info.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "keyboard_name": "pteron",
- "url": "",
- "maintainer": "FSund",
- "width": 17,
- "height": 5.95,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"K000", "x":0, "y":0.75},
- {"label":"K001", "x":1, "y":0.75},
- {"label":"K002", "x":2, "y":0.25},
- {"label":"K003", "x":3, "y":0},
- {"label":"K004", "x":4, "y":0.35},
- {"label":"K005", "x":5, "y":0.45},
-
- {"label":"K006", "x":11, "y":0.45},
- {"label":"K007", "x":12, "y":0.35},
- {"label":"K008", "x":13, "y":0},
- {"label":"K009", "x":14, "y":0.25},
- {"label":"K010", "x":15, "y":0.75},
- {"label":"K011", "x":16, "y":0.75},
-
- {"label":"K100", "x":0, "y":1.75},
- {"label":"K101", "x":1, "y":1.75},
- {"label":"K102", "x":2, "y":1.25},
- {"label":"K103", "x":3, "y":1},
- {"label":"K104", "x":4, "y":1.35},
- {"label":"K105", "x":5, "y":1.45},
-
- {"label":"K106", "x":11, "y":1.45},
- {"label":"K107", "x":12, "y":1.35},
- {"label":"K108", "x":13, "y":1},
- {"label":"K109", "x":14, "y":1.25},
- {"label":"K110", "x":15, "y":1.75},
- {"label":"K111", "x":16, "y":1.75},
-
- {"label":"K200", "x":0, "y":2.75},
- {"label":"K201", "x":1, "y":2.75},
- {"label":"K202", "x":2, "y":2.25},
- {"label":"K203", "x":3, "y":2},
- {"label":"K204", "x":4, "y":2.35},
- {"label":"K205", "x":5, "y":2.45},
-
- {"label":"K206", "x":11, "y":2.45},
- {"label":"K207", "x":12, "y":2.35},
- {"label":"K208", "x":13, "y":2},
- {"label":"K209", "x":14, "y":2.25},
- {"label":"K210", "x":15, "y":2.75},
- {"label":"K211", "x":16, "y":2.75},
-
- {"label":"K300", "x":0, "y":3.75},
- {"label":"K301", "x":1, "y":3.75},
- {"label":"K302", "x":2, "y":3.25},
- {"label":"K303", "x":3, "y":3},
- {"label":"K304", "x":4, "y":3.35},
- {"label":"K305", "x":5, "y":3.45},
-
- {"label":"K306", "x":11, "y":3.45},
- {"label":"K307", "x":12, "y":3.35},
- {"label":"K308", "x":13, "y":3},
- {"label":"K309", "x":14, "y":3.25},
- {"label":"K310", "x":15, "y":3.75},
- {"label":"K311", "x":16, "y":3.75},
-
- {"label":"K402", "x":4, "y":4.35},
- {"label":"K403", "x":5, "y":4.45},
- {"label":"K404", "x":6, "y":4.65},
- {"label":"K405", "x":7, "y":4.95},
-
- {"label":"K406", "x":9, "y":4.95},
- {"label":"K407", "x":10, "y":4.65},
- {"label":"K408", "x":11, "y":4.45},
- {"label":"K409", "x":12, "y":4.35}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/pteron/keymaps/FSund/keymap.c b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
deleted file mode 100644
index a52e842977..0000000000
--- a/keyboards/handwired/pteron/keymaps/FSund/keymap.c
+++ /dev/null
@@ -1,116 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum pteron_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-// alt gr
-#undef G
-#define G(kc) RALT(kc)
-
-// custom keycodes
-// use F_ prefix to avoid problems
-
-// NB! I use Norwegian keyboard layout on my machines, so the keymap probably
-// doesn't make much sense for US/ANSI users
-
-#define F_FSLH S(KC_7) // forward slash
-#define F_BSLH KC_EQL // backward slash
-#define F_EQL S(KC_0) // equals sign
-#define F_APOS KC_BSLS // '
-#define F_TIMES S(KC_BSLS) // *
-#define F_PLUS KC_MINS // +
-#define F_QUEST S(KC_MINS) // ?
-#define F_HAT S(KC_RBRC) // ^
-#define F_TILD G(KC_RBRC) // ~
-#define F_UML KC_RBRC // ¨ (umlaut)
-#define F_SECT S(KC_GRV) // section sign ("law sign") (shifted key below esc)
-#define F_GRAVE S(KC_EQL)
-#define F_ACUTE G(KC_EQL)
-
-#define KC_AA KC_LBRC
-#define KC_OE KC_SCLN
-#define KC_AE KC_QUOT
-
-// brackets
-#define F_SBRL G(KC_8) // square bracket left
-#define F_SBRR G(KC_9) // square bracket right
-#define F_CBRL G(KC_7) // curly bracket left
-#define F_CBRR G(KC_0) // curly bracket right
-#define F_RBRL S(KC_8) // round bracket left
-#define F_RBRR S(KC_9) // round bracket right
-#define F_ABRL KC_NUBS // angle bracket left
-#define F_ABRR S(KC_NUBS) // angle bracket right
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * +-----------------------------------------+ +-----------------------------------------+
- * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Å |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | Ø | Æ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shft | Z | X | C | V | B | | N | M | , | . | - | Shft |
- * +---------------------------+------+------+-------------+ +-------------+------+------+---------------------------+
- * | LOWR | Spc | Alt | Win | | Win | Alt | Spc | RISE |
- * +---------------------------+ +---------------------------+
- */
-
-[_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_AA,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_OE, KC_AE,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT,
- LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_ENT, RAISE
- ),
-
-/* LOWER
- * +-----------------------------------------+ +-----------------------------------------+
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | \ | / | [ | ] | = | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | | < | > | ( | ) | * | ~ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F6 | F7 | F8 | F9 | F10 | | F11 | F12 | { | } | + | |
- * +---------------------------+------+------+-------------+ +-------------+------+------+---------------------------+
- * | | | | | | | | | |
- * +---------------------------+ +---------------------------+
- */
-
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, F_BSLH, F_FSLH, F_SBRL, F_SBRR, F_EQL, KC_DEL,
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, F_ABRL, F_ABRR, F_RBRL, F_RBRR, F_TIMES, F_TILD,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, F_CBRL, F_CBRR, F_PLUS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_AA,
- F_SECT, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), F_QUEST, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, F_APOS,
- _______, S(KC_6), G(KC_2), G(KC_3), G(KC_4), G(KC_5), F_HAT, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, F_UML, F_GRAVE, F_ACUTE, _______, RESET, _______, _______, _______, _______, KC_PSCR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-uint32_t layer_state_set_user(uint32_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/handwired/pteron/keymaps/default/keymap.c b/keyboards/handwired/pteron/keymaps/default/keymap.c
deleted file mode 100644
index 3079cc7afd..0000000000
--- a/keyboards/handwired/pteron/keymaps/default/keymap.c
+++ /dev/null
@@ -1,104 +0,0 @@
-#include QMK_KEYBOARD_H
-
-enum pteron_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * +-----------------------------------------+ +-----------------------------------------+
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | | H | J | K | L | ; | " |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
- * +-------------+------+------+------+------| |------+------+------+------+-------------+
- * |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 \
-),
-
-/* Lower
- * +-----------------------------------------+ +-----------------------------------------+
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | | F12 |ISO ~ |ISO | | | | |
- * +-------------+------+------+------+------| |------+------+------+------+-------------+
- * | | | | | | 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 \
-),
-
-/* Raise
- * +-----------------------------------------+ +-----------------------------------------+
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | | F12 |ISO # |ISO / | | | |
- * +-------------+------+------+------+------| |------+------+------+------+-------------+
- * | | | | | | 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 \
-),
-
-/* Adjust (Lower + Raise)
- * +-----------------------------------------+ +-----------------------------------------+
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | Reset| | | | | | | | | | | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | |Aud on|AudOff|AGnorm| |AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |Voice-|Voice+|Mus on|MusOff|MidiOn| |MidOff| | | | | |
- * +-------------+------+------+------+------| |------+------+------+------+-------------+
- * | | | | | | | | | |
- * +---------------------------+ +---------------------------+
- */
-[_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, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______ \
-)
-
-};
-
-uint32_t layer_state_set_user(uint32_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/handwired/pteron/pteron.c b/keyboards/handwired/pteron/pteron.c
deleted file mode 100644
index 972b45aa20..0000000000
--- a/keyboards/handwired/pteron/pteron.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "pteron.h"
diff --git a/keyboards/handwired/pteron/pteron.h b/keyboards/handwired/pteron/pteron.h
deleted file mode 100644
index f29c2619af..0000000000
--- a/keyboards/handwired/pteron/pteron.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#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, \
- K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, \
- K402, K403, K404, K405, K406, K407, K408, K409 \
-) { \
- { 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 }, \
- { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 }, \
- { KC_NO, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, KC_NO, KC_NO } \
-}
diff --git a/keyboards/handwired/pteron/readme.md b/keyboards/handwired/pteron/readme.md
deleted file mode 100644
index a66d41edbb..0000000000
--- a/keyboards/handwired/pteron/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Pteron
-
-![Pteron](https://i.imgur.com/9QhPlVD.jpg)
-
-An ergonomic keyboard heavily inspired by the [Atreus](https://github.com/technomancy/atreus), [Iris](https://github.com/keebio/iris-case) and [Atreis](https://github.com/dekonnection/atreis) keyboards. More info and files for laser cutting plates and case are in the [Pteron repository](https://github.com/FSund/pteron-keyboard).
-
-Keyboard Maintainer: [Filip Sund](https://github.com/FSund)
-Hardware Supported: Pro Micro
-Hardware Availability: Handwired, no PCB's available (for now)
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/pteron:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file
diff --git a/keyboards/handwired/pteron/rules.mk b/keyboards/handwired/pteron/rules.mk
deleted file mode 100644
index 10218020e6..0000000000
--- a/keyboards/handwired/pteron/rules.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no
-UNICODE_ENABLE = no
-UNICODEMAP_ENABLE = no \ No newline at end of file
diff --git a/keyboards/handwired/qc60/README.md b/keyboards/handwired/qc60/README.md
deleted file mode 100644
index 4fdd9ba6ef..0000000000
--- a/keyboards/handwired/qc60/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# QC60
-
-![qc60 layout](https://i.imgur.com/BAW1VGc.png)
-
-A split 60% staggered keyboard made by Peioris.
-
-Keyboard Maintainer: [Peioris](https://github.com/coarse)
-Hardware Supported: [QC60 PCB](https://imgur.com/6tIxJ1N), Pro Micro
-Hardware Availability: N/A at the moment
-
-Handwiring Resources: [Pro Micro Wiring](https://imgur.com/UycEYlG), [Keymapping](http://www.keyboard-layout-editor.com/#/gists/a54720ecfd934155b179657938e8e87b)
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/qc60/proto:default
-
-Example of flashing this keyboard:
-
- make handwired/qc60/proto:avrdude
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/qc60/config.h b/keyboards/handwired/qc60/config.h
deleted file mode 100644
index aad1d64a03..0000000000
--- a/keyboards/handwired/qc60/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0C60
-#define DEVICE_VER 0x00C6
-#define MANUFACTURER PeiorisBoards
-#define PRODUCT QC60
-#define DESCRIPTION Split 60% staggered keyboard
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 8
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* serial.c configuration for split keyboard */
-#define SOFT_SERIAL_PIN D0
diff --git a/keyboards/handwired/qc60/info.json b/keyboards/handwired/qc60/info.json
deleted file mode 100644
index c047d50307..0000000000
--- a/keyboards/handwired/qc60/info.json
+++ /dev/null
@@ -1,639 +0,0 @@
-{
- "keyboard_name": "QC60",
- "url": "",
- "maintainer": "coarse",
- "width": 16,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "key_count": 67,
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
-
- {"label":"R00", "x":8, "y":0},
- {"label":"R01", "x":9, "y":0},
- {"label":"R02", "x":10, "y":0},
- {"label":"R03", "x":11, "y":0},
- {"label":"R04", "x":12, "y":0},
- {"label":"R05", "x":13, "y":0},
- {"label":"R06", "x":14, "y":0},
- {"label":"R07", "x":15, "y":0},
-
- {"label":"L10", "x":0, "y":1, "w":1.5},
- {"label":"L11", "x":1.5, "y":1},
- {"label":"L12", "x":2.5, "y":1},
- {"label":"L13", "x":3.5, "y":1},
- {"label":"L14", "x":4.5, "y":1},
- {"label":"L15", "x":5.5, "y":1},
-
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
- {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
- {"label":"L20", "x":0, "y":2, "w":1.75},
- {"label":"L21", "x":1.75, "y":2},
- {"label":"L22", "x":2.75, "y":2},
- {"label":"L23", "x":3.75, "y":2},
- {"label":"L24", "x":4.75, "y":2},
- {"label":"L25", "x":5.75, "y":2},
-
- {"label":"R21", "x":7.75, "y":2},
- {"label":"R22", "x":8.75, "y":2},
- {"label":"R23", "x":9.75, "y":2},
- {"label":"R24", "x":10.75, "y":2},
- {"label":"R25", "x":11.75, "y":2},
- {"label":"R26", "x":12.75, "y":2},
- {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
- {"label":"L30", "x":0, "y":3, "w":1.25},
- {"label":"L31", "x":1.25, "y":3},
- {"label":"L32", "x":2.25, "y":3},
- {"label":"L33", "x":3.25, "y":3},
- {"label":"L34", "x":4.25, "y":3},
- {"label":"L35", "x":5.25, "y":3},
- {"label":"L36", "x":6.25, "y":3},
-
- {"label":"R31", "x":8.25, "y":3},
- {"label":"R32", "x":9.25, "y":3},
- {"label":"R33", "x":10.25, "y":3},
- {"label":"R34", "x":11.25, "y":3},
- {"label":"R35", "x":12.25, "y":3},
- {"label":"R36", "x":13.25, "y":3, "w":1.75},
- {"label":"R37", "x":15, "y":3},
-
- {"label":"L40", "x":0, "y":4, "w":1.25},
- {"label":"L41", "x":1.25, "y":4, "w":1.25},
- {"label":"L42", "x":2.5, "y":4, "w":1.25},
- {"label":"L43", "x":3.75, "y":4, "w":2.75},
- {"label":"L44", "x":6.5, "y":4, "w":1.25},
-
- {"label":"R43", "x":8.75, "y":4, "w":1.25},
- {"label":"R44", "x":10, "y":4, "w":2},
- {"label":"R42", "x":12, "y":4},
- {"label":"R45", "x":13, "y":4},
- {"label":"R46", "x":14, "y":4},
- {"label":"R47", "x":15, "y":4}
- ]
- },
-
- "LAYOUT_ansi_default": {
- "key_count": 64,
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
-
- {"label":"7", "x":8, "y":0},
- {"label":"8", "x":9, "y":0},
- {"label":"9", "x":10, "y":0},
- {"label":"0", "x":11, "y":0},
- {"label":"-", "x":12, "y":0},
- {"label":"=", "x":13, "y":0},
- {"label":"Backspace", "x":14, "y":0, "w":2.0},
-
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {"label":"R", "x":4.5, "y":1},
- {"label":"T", "x":5.5, "y":1},
-
- {"label":"Y", "x":7.5, "y":1},
- {"label":"U", "x":8.5, "y":1},
- {"label":"I", "x":9.5, "y":1},
- {"label":"O", "x":10.5, "y":1},
- {"label":"P", "x":11.5, "y":1},
- {"label":"[", "x":12.5, "y":1},
- {"label":"]", "x":13.5, "y":1},
- {"label":"\\", "x":14.5, "y":1, "w":1.5},
-
- {"label":"CapsLock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
-
- {"label":"H", "x":7.75, "y":2},
- {"label":"J", "x":8.75, "y":2},
- {"label":"K", "x":9.75, "y":2},
- {"label":"L", "x":10.75, "y":2},
- {"label":";", "x":11.75, "y":2},
- {"label":"'", "x":12.75, "y":2},
- {"label":"Enter", "x":13.75, "y":2, "w":2.25},
-
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.25, "y":3},
- {"label":"C", "x":4.25, "y":3},
- {"label":"V", "x":5.25, "y":3},
- {"label":"B", "x":6.25, "y":3},
-
- {"label":"N", "x":8.25, "y":3},
- {"label":"M", "x":9.25, "y":3},
- {"label":",", "x":10.25, "y":3},
- {"label":".", "x":11.25, "y":3},
- {"label":"/", "x":12.25, "y":3},
- {"label":"Shift", "x":13.25, "y":3, "w":2.75},
-
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"Win", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"x":3.75, "y":4, "w":2.75},
- {"x":6.5, "y":4, "w":1.25},
-
- {"x":8.75, "y":4, "w":1.25},
- {"x":10, "y":4, "w":2.0},
- {"label":"Alt", "x":12, "y":4},
- {"label":"Win", "x":13, "y":4},
- {"label":"Menu", "x":14, "y":4},
- {"label":"Ctrl", "x":15, "y":4}
- ]
- },
-
- "LAYOUT_ansi_alt": {
- "key_count": 63,
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
-
- {"label":"R00", "x":8, "y":0},
- {"label":"R01", "x":9, "y":0},
- {"label":"R02", "x":10, "y":0},
- {"label":"R03", "x":11, "y":0},
- {"label":"R04", "x":12, "y":0},
- {"label":"R05", "x":13, "y":0},
- {"label":"R07", "x":14, "y":0, "w":2},
-
- {"label":"L10", "x":0, "y":1, "w":1.5},
- {"label":"L11", "x":1.5, "y":1},
- {"label":"L12", "x":2.5, "y":1},
- {"label":"L13", "x":3.5, "y":1},
- {"label":"L14", "x":4.5, "y":1},
- {"label":"L15", "x":5.5, "y":1},
-
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
- {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
- {"label":"L20", "x":0, "y":2, "w":1.75},
- {"label":"L21", "x":1.75, "y":2},
- {"label":"L22", "x":2.75, "y":2},
- {"label":"L23", "x":3.75, "y":2},
- {"label":"L24", "x":4.75, "y":2},
- {"label":"L25", "x":5.75, "y":2},
-
- {"label":"R21", "x":7.75, "y":2},
- {"label":"R22", "x":8.75, "y":2},
- {"label":"R23", "x":9.75, "y":2},
- {"label":"R24", "x":10.75, "y":2},
- {"label":"R25", "x":11.75, "y":2},
- {"label":"R26", "x":12.75, "y":2},
- {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
- {"label":"L31", "x":0, "y":3, "w":2.25},
- {"label":"L32", "x":2.25, "y":3},
- {"label":"L33", "x":3.25, "y":3},
- {"label":"L34", "x":4.25, "y":3},
- {"label":"L35", "x":5.25, "y":3},
- {"label":"L36", "x":6.25, "y":3},
-
- {"label":"R31", "x":8.25, "y":3},
- {"label":"R32", "x":9.25, "y":3},
- {"label":"R33", "x":10.25, "y":3},
- {"label":"R34", "x":11.25, "y":3},
- {"label":"R35", "x":12.25, "y":3},
- {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
- {"label":"L40", "x":0, "y":4, "w":1.5},
- {"label":"L41", "x":1.5, "y":4},
- {"label":"L42", "x":2.5, "y":4, "w":1.5},
- {"label":"L43", "x":4, "y":4, "w":2.75},
- {"label":"L44", "x":6.75, "y":4},
-
- {"label":"R43", "x":8.75, "y":4},
- {"label":"R44", "x":9.75, "y":4, "w":2.25},
- {"label":"R45", "x":12, "y":4, "w":1.5},
- {"label":"R46", "x":13.5, "y":4},
- {"label":"R47", "x":14.5, "y":4, "w":1.5}
- ]
- },
-
- "LAYOUT_iso_default": {
- "key_count": 65,
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
-
- {"label":"R00", "x":8, "y":0},
- {"label":"R01", "x":9, "y":0},
- {"label":"R02", "x":10, "y":0},
- {"label":"R03", "x":11, "y":0},
- {"label":"R04", "x":12, "y":0},
- {"label":"R05", "x":13, "y":0},
- {"label":"R07", "x":14, "y":0, "w":2},
-
- {"label":"L10", "x":0, "y":1, "w":1.5},
- {"label":"L11", "x":1.5, "y":1},
- {"label":"L12", "x":2.5, "y":1},
- {"label":"L13", "x":3.5, "y":1},
- {"label":"L14", "x":4.5, "y":1},
- {"label":"L15", "x":5.5, "y":1},
-
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
-
- {"label":"L20", "x":0, "y":2, "w":1.75},
- {"label":"L21", "x":1.75, "y":2},
- {"label":"L22", "x":2.75, "y":2},
- {"label":"L23", "x":3.75, "y":2},
- {"label":"L24", "x":4.75, "y":2},
- {"label":"L25", "x":5.75, "y":2},
-
- {"label":"R21", "x":7.75, "y":2},
- {"label":"R22", "x":8.75, "y":2},
- {"label":"R23", "x":9.75, "y":2},
- {"label":"R24", "x":10.75, "y":2},
- {"label":"R25", "x":11.75, "y":2},
- {"label":"R26", "x":12.75, "y":2},
- {"label":"R17", "x":13.75, "y":2},
- {"label":"R27", "x":14.75, "y":1, "w":1.25, "h":2},
-
- {"label":"L30", "x":0, "y":3, "w":1.25},
- {"label":"L31", "x":1.25, "y":3},
- {"label":"L32", "x":2.25, "y":3},
- {"label":"L33", "x":3.25, "y":3},
- {"label":"L34", "x":4.25, "y":3},
- {"label":"L35", "x":5.25, "y":3},
- {"label":"L36", "x":6.25, "y":3},
-
- {"label":"R31", "x":8.25, "y":3},
- {"label":"R32", "x":9.25, "y":3},
- {"label":"R33", "x":10.25, "y":3},
- {"label":"R34", "x":11.25, "y":3},
- {"label":"R35", "x":12.25, "y":3},
- {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
- {"label":"L40", "x":0, "y":4, "w":1.25},
- {"label":"L41", "x":1.25, "y":4, "w":1.25},
- {"label":"L42", "x":2.5, "y":4, "w":1.25},
- {"label":"L43", "x":3.75, "y":4, "w":2.75},
- {"label":"L44", "x":6.5, "y":4, "w":1.25},
-
- {"label":"R43", "x":8.75, "y":4, "w":1.25},
- {"label":"R44", "x":10, "y":4, "w":2},
- {"label":"R42", "x":12, "y":4},
- {"label":"R45", "x":13, "y":4},
- {"label":"R46", "x":14, "y":4},
- {"label":"R47", "x":15, "y":4}
- ]
- },
-
- "LAYOUT_iso_alt": {
- "key_count": 64,
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
-
- {"label":"R00", "x":8, "y":0},
- {"label":"R01", "x":9, "y":0},
- {"label":"R02", "x":10, "y":0},
- {"label":"R03", "x":11, "y":0},
- {"label":"R04", "x":12, "y":0},
- {"label":"R05", "x":13, "y":0},
- {"label":"R07", "x":14, "y":0, "w":2},
-
- {"label":"L10", "x":0, "y":1, "w":1.5},
- {"label":"L11", "x":1.5, "y":1},
- {"label":"L12", "x":2.5, "y":1},
- {"label":"L13", "x":3.5, "y":1},
- {"label":"L14", "x":4.5, "y":1},
- {"label":"L15", "x":5.5, "y":1},
-
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
-
- {"label":"L20", "x":0, "y":2, "w":1.75},
- {"label":"L21", "x":1.75, "y":2},
- {"label":"L22", "x":2.75, "y":2},
- {"label":"L23", "x":3.75, "y":2},
- {"label":"L24", "x":4.75, "y":2},
- {"label":"L25", "x":5.75, "y":2},
-
- {"label":"R21", "x":7.75, "y":2},
- {"label":"R22", "x":8.75, "y":2},
- {"label":"R23", "x":9.75, "y":2},
- {"label":"R24", "x":10.75, "y":2},
- {"label":"R25", "x":11.75, "y":2},
- {"label":"R26", "x":12.75, "y":2},
- {"label":"R17", "x":13.75, "y":2},
- {"label":"R27", "x":14.75, "y":1, "w":1.25, "h":2},
-
- {"label":"L30", "x":0, "y":3, "w":1.25},
- {"label":"L31", "x":1.25, "y":3},
- {"label":"L32", "x":2.25, "y":3},
- {"label":"L33", "x":3.25, "y":3},
- {"label":"L34", "x":4.25, "y":3},
- {"label":"L35", "x":5.25, "y":3},
- {"label":"L36", "x":6.25, "y":3},
-
- {"label":"R31", "x":8.25, "y":3},
- {"label":"R32", "x":9.25, "y":3},
- {"label":"R33", "x":10.25, "y":3},
- {"label":"R34", "x":11.25, "y":3},
- {"label":"R35", "x":12.25, "y":3},
- {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
- {"label":"L40", "x":0, "y":4, "w":1.5},
- {"label":"L41", "x":1.5, "y":4},
- {"label":"L42", "x":2.5, "y":4, "w":1.5},
- {"label":"L43", "x":4, "y":4, "w":2.75},
- {"label":"L44", "x":6.75, "y":4},
-
- {"label":"R43", "x":8.75, "y":4},
- {"label":"R44", "x":9.75, "y":4, "w":2.25},
- {"label":"R45", "x":12, "y":4, "w":1.5},
- {"label":"R46", "x":13.5, "y":4},
- {"label":"R47", "x":14.5, "y":4, "w":1.5}
- ]
- },
-
- "LAYOUT_hhkb_default": {
- "key_count": 63,
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
-
- {"label":"R00", "x":8, "y":0},
- {"label":"R01", "x":9, "y":0},
- {"label":"R02", "x":10, "y":0},
- {"label":"R03", "x":11, "y":0},
- {"label":"R04", "x":12, "y":0},
- {"label":"R05", "x":13, "y":0},
- {"label":"R06", "x":14, "y":0},
- {"label":"R07", "x":15, "y":0},
-
- {"label":"L10", "x":0, "y":1, "w":1.5},
- {"label":"L11", "x":1.5, "y":1},
- {"label":"L12", "x":2.5, "y":1},
- {"label":"L13", "x":3.5, "y":1},
- {"label":"L14", "x":4.5, "y":1},
- {"label":"L15", "x":5.5, "y":1},
-
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
- {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
- {"label":"L20", "x":0, "y":2, "w":1.75},
- {"label":"L21", "x":1.75, "y":2},
- {"label":"L22", "x":2.75, "y":2},
- {"label":"L23", "x":3.75, "y":2},
- {"label":"L24", "x":4.75, "y":2},
- {"label":"L25", "x":5.75, "y":2},
-
- {"label":"R21", "x":7.75, "y":2},
- {"label":"R22", "x":8.75, "y":2},
- {"label":"R23", "x":9.75, "y":2},
- {"label":"R24", "x":10.75, "y":2},
- {"label":"R25", "x":11.75, "y":2},
- {"label":"R26", "x":12.75, "y":2},
- {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
- {"label":"L31", "x":0, "y":3, "w":2.25},
- {"label":"L32", "x":2.25, "y":3},
- {"label":"L33", "x":3.25, "y":3},
- {"label":"L34", "x":4.25, "y":3},
- {"label":"L35", "x":5.25, "y":3},
- {"label":"L36", "x":6.25, "y":3},
-
- {"label":"R31", "x":8.25, "y":3},
- {"label":"R32", "x":9.25, "y":3},
- {"label":"R33", "x":10.25, "y":3},
- {"label":"R34", "x":11.25, "y":3},
- {"label":"R35", "x":12.25, "y":3},
- {"label":"R36", "x":13.25, "y":3, "w":1.75},
- {"label":"R37", "x":15, "y":3},
-
- {"label":"L41", "x":1.5, "y":4},
- {"label":"L42", "x":2.5, "y":4, "w":1.5},
- {"label":"L43", "x":4, "y":4, "w":2.75},
- {"label":"L44", "x":6.75, "y":4},
-
- {"label":"R43", "x":8.75, "y":4},
- {"label":"R44", "x":9.75, "y":4, "w":2.25},
- {"label":"R45", "x":12, "y":4, "w":1.5},
- {"label":"R46", "x":13.5, "y":4}
- ]
- },
-
- "LAYOUT_hhkb_split_lshift": {
- "key_count": 64,
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
-
- {"label":"R00", "x":8, "y":0},
- {"label":"R01", "x":9, "y":0},
- {"label":"R02", "x":10, "y":0},
- {"label":"R03", "x":11, "y":0},
- {"label":"R04", "x":12, "y":0},
- {"label":"R05", "x":13, "y":0},
- {"label":"R06", "x":14, "y":0},
- {"label":"R07", "x":15, "y":0},
-
- {"label":"L10", "x":0, "y":1, "w":1.5},
- {"label":"L11", "x":1.5, "y":1},
- {"label":"L12", "x":2.5, "y":1},
- {"label":"L13", "x":3.5, "y":1},
- {"label":"L14", "x":4.5, "y":1},
- {"label":"L15", "x":5.5, "y":1},
-
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
- {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
- {"label":"L20", "x":0, "y":2, "w":1.75},
- {"label":"L21", "x":1.75, "y":2},
- {"label":"L22", "x":2.75, "y":2},
- {"label":"L23", "x":3.75, "y":2},
- {"label":"L24", "x":4.75, "y":2},
- {"label":"L25", "x":5.75, "y":2},
-
- {"label":"R21", "x":7.75, "y":2},
- {"label":"R22", "x":8.75, "y":2},
- {"label":"R23", "x":9.75, "y":2},
- {"label":"R24", "x":10.75, "y":2},
- {"label":"R25", "x":11.75, "y":2},
- {"label":"R26", "x":12.75, "y":2},
- {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
- {"label":"L30", "x":0, "y":3, "w":1.25},
- {"label":"L31", "x":1.25, "y":3},
- {"label":"L32", "x":2.25, "y":3},
- {"label":"L33", "x":3.25, "y":3},
- {"label":"L34", "x":4.25, "y":3},
- {"label":"L35", "x":5.25, "y":3},
- {"label":"L36", "x":6.25, "y":3},
-
- {"label":"R31", "x":8.25, "y":3},
- {"label":"R32", "x":9.25, "y":3},
- {"label":"R33", "x":10.25, "y":3},
- {"label":"R34", "x":11.25, "y":3},
- {"label":"R35", "x":12.25, "y":3},
- {"label":"R36", "x":13.25, "y":3, "w":1.75},
- {"label":"R37", "x":15, "y":3},
-
- {"label":"L41", "x":1.5, "y":4},
- {"label":"L42", "x":2.5, "y":4, "w":1.5},
- {"label":"L43", "x":4, "y":4, "w":2.75},
- {"label":"L44", "x":6.75, "y":4},
-
- {"label":"R43", "x":8.75, "y":4},
- {"label":"R44", "x":9.75, "y":4, "w":2.25},
- {"label":"R45", "x":12, "y":4, "w":1.5},
- {"label":"R46", "x":13.5, "y":4}
- ]
- },
-
- "LAYOUT_wkl_default": {
- "key_count": 61,
- "layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
-
- {"label":"R00", "x":8, "y":0},
- {"label":"R01", "x":9, "y":0},
- {"label":"R02", "x":10, "y":0},
- {"label":"R03", "x":11, "y":0},
- {"label":"R04", "x":12, "y":0},
- {"label":"R05", "x":13, "y":0},
- {"label":"R07", "x":14, "y":0, "w":2},
-
- {"label":"L10", "x":0, "y":1, "w":1.5},
- {"label":"L11", "x":1.5, "y":1},
- {"label":"L12", "x":2.5, "y":1},
- {"label":"L13", "x":3.5, "y":1},
- {"label":"L14", "x":4.5, "y":1},
- {"label":"L15", "x":5.5, "y":1},
-
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
- {"label":"R17", "x":14.5, "y":1, "w":1.5},
-
- {"label":"L20", "x":0, "y":2, "w":1.75},
- {"label":"L21", "x":1.75, "y":2},
- {"label":"L22", "x":2.75, "y":2},
- {"label":"L23", "x":3.75, "y":2},
- {"label":"L24", "x":4.75, "y":2},
- {"label":"L25", "x":5.75, "y":2},
-
- {"label":"R21", "x":7.75, "y":2},
- {"label":"R22", "x":8.75, "y":2},
- {"label":"R23", "x":9.75, "y":2},
- {"label":"R24", "x":10.75, "y":2},
- {"label":"R25", "x":11.75, "y":2},
- {"label":"R26", "x":12.75, "y":2},
- {"label":"R27", "x":13.75, "y":2, "w":2.25},
-
- {"label":"L31", "x":0, "y":3, "w":2.25},
- {"label":"L32", "x":2.25, "y":3},
- {"label":"L33", "x":3.25, "y":3},
- {"label":"L34", "x":4.25, "y":3},
- {"label":"L35", "x":5.25, "y":3},
- {"label":"L36", "x":6.25, "y":3},
-
- {"label":"R31", "x":8.25, "y":3},
- {"label":"R32", "x":9.25, "y":3},
- {"label":"R33", "x":10.25, "y":3},
- {"label":"R34", "x":11.25, "y":3},
- {"label":"R35", "x":12.25, "y":3},
- {"label":"R36", "x":13.25, "y":3, "w":2.75},
-
- {"label":"L40", "x":0, "y":4, "w":1.5},
- {"label":"L42", "x":2.5, "y":4, "w":1.5},
- {"label":"L43", "x":4, "y":4, "w":2.75},
- {"label":"L44", "x":6.75, "y":4},
-
- {"label":"R43", "x":8.75, "y":4},
- {"label":"R44", "x":9.75, "y":4, "w":2.25},
- {"label":"R45", "x":12, "y":4, "w":1.5},
- {"label":"R47", "x":14.5, "y":4, "w":1.5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/qc60/keymaps/default/config.h b/keyboards/handwired/qc60/keymaps/default/config.h
deleted file mode 100644
index 6202f57ec5..0000000000
--- a/keyboards/handwired/qc60/keymaps/default/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#define USE_I2C
-
-#define MASTER_LEFT
diff --git a/keyboards/handwired/qc60/keymaps/default/keymap.c b/keyboards/handwired/qc60/keymaps/default/keymap.c
deleted file mode 100644
index 88062d4ed4..0000000000
--- a/keyboards/handwired/qc60/keymaps/default/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-
-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_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/keymaps/wntrmln/config.h b/keyboards/handwired/qc60/keymaps/wntrmln/config.h
deleted file mode 100644
index fabebda534..0000000000
--- a/keyboards/handwired/qc60/keymaps/wntrmln/config.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#define USE_SERIAL
-
-#define MASTER_LEFT
diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c b/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c
deleted file mode 100644
index f024ddb4b9..0000000000
--- a/keyboards/handwired/qc60/keymaps/wntrmln/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN 1
-
-#define FN MO(_FN)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_hhkb_split_lshift(
- 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_DEL, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
- KC_LSFT, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_CAPS, \
- FN, KC_LALT, KC_SPC, KC_F13, KC_BSLS, KC_SPC, KC_RALT, KC_LGUI
- ),
-
- [_FN] = LAYOUT_hhkb_split_lshift(
- RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, KC_NLCK, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/handwired/qc60/proto/config.h b/keyboards/handwired/qc60/proto/config.h
deleted file mode 100644
index 8c21fa9265..0000000000
--- a/keyboards/handwired/qc60/proto/config.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-// wiring of each half
-#define MATRIX_ROW_PINS { F4, F5, C6, D7, E6 }
-#define MATRIX_COL_PINS { F7, F6, B1, B3, B2, B6, B5, B4 }
-#define DIODE_DIRECTION ROW2COL
-
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D3
-#define RGBLED_NUM 1 // Number of LEDs
diff --git a/keyboards/handwired/qc60/proto/proto.c b/keyboards/handwired/qc60/proto/proto.c
deleted file mode 100644
index a6031d772d..0000000000
--- a/keyboards/handwired/qc60/proto/proto.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "qc60.h"
-
-void matrix_init_kb(void) {
- matrix_init_user();
-};
diff --git a/keyboards/handwired/qc60/proto/proto.h b/keyboards/handwired/qc60/proto/proto.h
deleted file mode 100644
index 7e7755d0e2..0000000000
--- a/keyboards/handwired/qc60/proto/proto.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "qc60.h"
-
-#include "quantum.h"
-
-// readability
-#define XXX KC_NO
-
-/* Split Backspace
- * {R07, XXX, R05, R04, R03, R02, R01, R00}
- *
- * Split Right Shift
- * {R37, R36, R35, R34, R33, R32, R31, XXX}
- *
- * Split Left Shift
- * {L30, L31, L32, L33, L34, L35, L36, XXX}
- *
- * 6-key Bottom-left row
- * {R47, R46, R45, R44, R43, R42, XXX, XXX}
- */
-
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
- L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \
- L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \
-) \
-{ \
- {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, XXX, XXX}, \
- {R07, XXX, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {R37, R36, R35, R34, R33, R32, R31, XXX}, \
- {R47, R46, R45, R44, R43, R42, XXX, XXX}, \
-}
-
-#define LAYOUT_ansi_default( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
- L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
- L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \
-) \
-{ \
- {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, XXX, XXX}, \
- {R07, XXX, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
- {R47, R46, R45, R44, R43, R42, XXX, XXX}, \
-}
-
-#define LAYOUT_ansi_alt( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
- L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
- L40, L41, L42, L43, L44, R43, R44, R45, R46, R47 \
-) \
-{ \
- {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, XXX, XXX}, \
- {R07, XXX, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
- {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_iso_default( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R17, R27, \
- L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
- L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \
-) \
-{ \
- {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, XXX, XXX}, \
- {R07, XXX, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
- {R47, R46, R45, R44, R43, R42, XXX, XXX}, \
-}
-
-#define LAYOUT_iso_alt( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R17, R27, \
- L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
- L40, L41, L42, L43, L44, R43, R44, R45, R46, R47 \
-) \
-{ \
- {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, XXX, XXX}, \
- {R07, XXX, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
- {R47, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_hhkb_default( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
- L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \
- L41, L42, L43, L44, R43, R44, R45, 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}, \
- {XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \
- {R07, R06, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {R37, R36, R35, R34, R33, R32, R31, XXX}, \
- {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_hhkb_split_lshift( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
- L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \
- L41, L42, L43, L44, R43, R44, R45, 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}, \
- {XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \
- {R07, R06, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {R37, R36, R35, R34, R33, R32, R31, XXX}, \
- {XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
-}
-
-#define LAYOUT_wkl_default( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
- L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
- L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
- L40, L42, L43, L44, R43, R44, R45, R47 \
-) \
-{ \
- {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, XXX, L42, L43, L44, XXX, XXX, XXX}, \
- {R07, XXX, R05, R04, R03, R02, R01, R00}, \
- {R17, R16, R15, R14, R13, R12, R11, R10}, \
- {R27, R26, R25, R24, R23, R22, R21, XXX}, \
- {XXX, R36, R35, R34, R33, R32, R31, XXX}, \
- {R47, XXX, R45, R44, R43, XXX, XXX, XXX}, \
-}
diff --git a/keyboards/handwired/qc60/proto/rules.mk b/keyboards/handwired/qc60/proto/rules.mk
deleted file mode 100644
index 7ad666d1a3..0000000000
--- a/keyboards/handwired/qc60/proto/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-RGBLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/qc60/qc60.c b/keyboards/handwired/qc60/qc60.c
deleted file mode 100644
index dfa77cf086..0000000000
--- a/keyboards/handwired/qc60/qc60.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "qc60.h"
diff --git a/keyboards/handwired/qc60/qc60.h b/keyboards/handwired/qc60/qc60.h
deleted file mode 100644
index 55c83aca5e..0000000000
--- a/keyboards/handwired/qc60/qc60.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef QC60_H
-#define QC60_H
-
-#include "quantum.h"
-
-#ifdef KEYBOARD_handwired_qc60_proto
- #include "proto.h"
-#endif
-
-
-// Used to create a keymap using only KC_ prefixed keys
-#define LAYOUT_kc( \
- LA1, LA2, LA3, LA4, LA5, LA6, RA1, RA2, RA3, RA4, RA5, RA6, RA7, \
- LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB7, \
- LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC3, RC4, RC5, RC6, RC7, \
- LD1, LD2, LD3, LD4, LD5, RD1, RD4, RD5, RD6, RD7 \
- ) \
- LAYOUT( \
- KC_##LA1, KC_##LA2, KC_##LA3, KC_##LA4, KC_##LA5, KC_##LA6, KC_##RA1, KC_##RA2, KC_##RA3, KC_##RA4, KC_##RA5, KC_##RA6, KC_##RA7, \
- KC_##LB1, KC_##LB2, KC_##LB3, KC_##LB4, KC_##LB5, KC_##LB6, KC_##RB1, KC_##RB2, KC_##RB3, KC_##RB4, KC_##RB5, KC_##RB7, \
- KC_##LC1, KC_##LC2, KC_##LC3, KC_##LC4, KC_##LC5, KC_##LC6, KC_##RC1, KC_##RC3, KC_##RC4, KC_##RC5, KC_##RC6, KC_##RC7, \
- KC_##LD1, KC_##LD2, KC_##LD3, KC_##LD4, KC_##LD5, KC_##RD1, KC_##RD4, KC_##RD5, KC_##RD6, KC_##RD7 \
- )
-
-
-#endif
diff --git a/keyboards/handwired/qc60/rules.mk b/keyboards/handwired/qc60/rules.mk
deleted file mode 100644
index e61b18b00c..0000000000
--- a/keyboards/handwired/qc60/rules.mk
+++ /dev/null
@@ -1,68 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = 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 = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-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/config.h b/keyboards/handwired/reddot/config.h
deleted file mode 100755
index 82fe01863d..0000000000
--- a/keyboards/handwired/reddot/config.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER upils
-#define PRODUCT reddot
-#define DESCRIPTION A custom keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 19
-
-/*
- * 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, E6 }
-#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, C6, C7, D5, D4, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 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
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/reddot/info.json b/keyboards/handwired/reddot/info.json
deleted file mode 100644
index 1fcc8677e8..0000000000
--- a/keyboards/handwired/reddot/info.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "keyboard_name": "handwired/reddot",
- "url": "",
- "maintainer": "qmk",
- "width": 20.5,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"k00 (Esc)", "x":0, "y":0},
- {"label":"k01 (F1)", "x":1, "y":0},
- {"label":"k02 (F2)", "x":2, "y":0},
- {"label":"k03 (F3)", "x":3, "y":0},
- {"label":"k04 (F4)", "x":4, "y":0},
- {"label":"k05 (F5)", "x":5, "y":0},
- {"label":"k06 (Tab)", "x":6, "y":0, "w":2},
- {"label":"k07 (Caps Lock)", "x":8, "y":0},
- {"label":"k08 (F6)", "x":9, "y":0},
- {"label":"k09 (F7)", "x":10, "y":0},
- {"label":"k0A (F8)", "x":11, "y":0},
- {"label":"k0B (F9)", "x":12, "y":0},
- {"label":"k0C (F10)", "x":13, "y":0},
- {"label":"k0D (F11)", "x":14, "y":0},
- {"label":"k0E (F12)", "x":15, "y":0},
- {"label":"k10 (Function)", "x":16.5, "y":0},
- {"label":"k11 (Keypad /)", "x":17.5, "y":0},
- {"label":"k12 (Keypad *)", "x":18.5, "y":0},
- {"label":"k13 (Keypad -)", "x":19.5, "y":0},
-
- {"label":"k20 (Left Alt)", "x":0, "y":1},
- {"label":"k21 (1 / FR Ampersand)", "x":1, "y":1},
- {"label":"k22 (2 / FR É)", "x":2, "y":1},
- {"label":"k23 (3 / FR Quote)", "x":3, "y":1},
- {"label":"k24 (4 / FR Apostrophe)", "x":4, "y":1},
- {"label":"k25 (5 / FR Left Parenthesis)", "x":5, "y":1},
- {"label":"k26 (Backspace)", "x":6, "y":1, "w":2},
- {"label":"k27 (Delete)", "x":8, "y":1},
- {"label":"k28 (6 / FR Minus)", "x":9, "y":1},
- {"label":"k29 (7 / FR È)", "x":10, "y":1},
- {"label":"k2A (8 / FR Underscore)", "x":11, "y":1},
- {"label":"k2B (9 / FR Ç)", "x":12, "y":1},
- {"label":"k2C (0 / FR À)", "x":13, "y":1},
- {"label":"k2D (Minus / FR Right Parenthesis)", "x":14, "y":1},
- {"label":"k2E (Equals / FR Equals)", "x":15, "y":1},
- {"label":"k30 (Insert)", "x":16.5, "y":1},
- {"label":"k31 (Home)", "x":17.5, "y":1},
- {"label":"k32 (Page Up)", "x":18.5, "y":1},
-
- {"label":"k40 (GUI)", "x":0, "y":2},
- {"label":"k41 (Q / FR A)", "x":1, "y":2},
- {"label":"k42 (W / FR Z)", "x":2, "y":2},
- {"label":"k43 (E)", "x":3, "y":2},
- {"label":"k44 (R)", "x":4, "y":2},
- {"label":"k45 (T)", "x":5, "y":2},
- {"label":"k46 (Shift)", "x":6, "y":2, "h":2},
- {"label":"k66 (Enter)", "x":7, "y":2, "h":2},
- {"label":"k47 (Enter)", "x":8, "y":2, "h":2},
- {"label":"k48 (Y)", "x":9, "y":2},
- {"label":"k49 (U)", "x":10, "y":2},
- {"label":"k4A (I)", "x":11, "y":2},
- {"label":"k4B (O)", "x":12, "y":2},
- {"label":"k4C (P)", "x":13, "y":2},
- {"label":"k4D (Left Bracket / FR Circumflex)", "x":14, "y":2},
- {"label":"k4E (Right Bracket / FR Dollar)", "x":15, "y":2},
- {"label":"k50 (Delete)", "x":16.5, "y":2},
- {"label":"k51 (End)", "x":17.5, "y":2},
- {"label":"k52 (Page Down)", "x":18.5, "y":2},
- {"label":"k53 (Keypad +)", "x":19.5, "y":1, "h":2},
-
- {"label":"k60 (Ctrl)", "x":0, "y":3},
- {"label":"k61 (A / FR Q)", "x":1, "y":3},
- {"label":"k62 (S)", "x":2, "y":3},
- {"label":"k63 (D)", "x":3, "y":3},
- {"label":"k64 (F)", "x":4, "y":3},
- {"label":"k65 (G)", "x":5, "y":3},
- {"label":"k68 (H)", "x":9, "y":3},
- {"label":"k69 (J)", "x":10, "y":3},
- {"label":"k6A (K)", "x":11, "y":3},
- {"label":"k6B (L)", "x":12, "y":3},
- {"label":"k6C (Semicolon / FR M)", "x":13, "y":3},
- {"label":"k6D (Quote / FR Ù)", "x":14, "y":3},
- {"label":"k6E (ISO Hash / FR Asterisk)", "x":15, "y":3},
- {"label":"k70 (Keypad 1)", "x":16.5, "y":3},
- {"label":"k71 (Up)", "x":17.5, "y":3},
- {"label":"k72 (Keypad 3)", "x":18.5, "y":3},
-
- {"label":"k80 (ISO Backslash / FR Less Than)", "x":0, "y":4},
- {"label":"k81 (Z / FR W)", "x":1, "y":4},
- {"label":"k82 (X)", "x":2, "y":4},
- {"label":"k83 (C)", "x":3, "y":4},
- {"label":"k84 (V)", "x":4, "y":4},
- {"label":"k85 (B)", "x":5, "y":4},
- {"label":"k86 (Space)", "x":6, "y":4, "w":2},
- {"label":"k88 (Space)", "x":8, "y":4, "w":2},
- {"label":"k89 (N)", "x":10, "y":4},
- {"label":"k8A (M / FR Comma)", "x":11, "y":4},
- {"label":"k8B (Comma / FR Semicolon)", "x":12, "y":4},
- {"label":"k8C (Period / Colon)", "x":13, "y":4},
- {"label":"k8D (Slash / FR Exclaim)", "x":14, "y":4},
- {"label":"k8E (Right Alt / FR AltGr)", "x":15, "y":4},
- {"label":"k90 (Left)", "x":16.5, "y":4},
- {"label":"k91 (Down)", "x":17.5, "y":4},
- {"label":"k92 (Right)", "x":18.5, "y":4},
- {"label":"k93 (Keypad Enter)", "x":19.5, "y":3, "h":2}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/reddot/keymaps/default/keymap.c b/keyboards/handwired/reddot/keymaps/default/keymap.c
deleted file mode 100644
index 246a03b4d7..0000000000
--- a/keyboards/handwired/reddot/keymaps/default/keymap.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "keymap_french.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_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(1), KC_PSLS, KC_PAST, KC_PMNS, \
- KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP, \
- KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_DEL, KC_END, KC_PGDN, KC_PPLS, \
- KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_P1, KC_UP, KC_P3, \
- FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
- ),
-
- [1] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSLS, KC_PAST, KC_PMNS, \
- KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9, \
- KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_4, KC_5, KC_6, KC_PPLS, \
- KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_1, KC_2, KC_3, \
- FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
- ),
-
-};
diff --git a/keyboards/handwired/reddot/keymaps/default/readme.md b/keyboards/handwired/reddot/keymaps/default/readme.md
deleted file mode 100755
index f04833c3e0..0000000000
--- a/keyboards/handwired/reddot/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for handwired/reddot
diff --git a/keyboards/handwired/reddot/readme.md b/keyboards/handwired/reddot/readme.md
deleted file mode 100755
index 27c8b54d60..0000000000
--- a/keyboards/handwired/reddot/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# RedDot
-
-An ortholinear compact fullsize keyboard configured for French AZERTY layout.
-
-- [Layout](http://www.keyboard-layout-editor.com/##@_plate:true%3B&@_sm=cherry&sb=cherry&st=MX1A-L1xx%3B&=Esc&=F1&=F2&=F3&=F4&=F5&_w:2%3B&=Tab&=Caps%20Lock&=F6&=F7&=F8&=F9&=F10&=F11&=F12&_x:0.5%3B&=Fn&=%2F%2F&=*&=-%3B&@=Alt&=1%0A%2F&&=2%0A%C3%A9%0A%0A~&=3%0A%22%0A%0A%23&=4%0A'%0A%0A%7B&=5%0A(%0A%0A%5B&_w:2%3B&=Back&=Del&=6%0A-%0A%0A%7C&=7%0A%C3%A8%0A%0A%60&=8%0A%2F_%0A%0A%5C&=9%0A%C3%A7%0A%0A%5E&=0%0A%C3%A0%0A%0A%2F@&=%C2%B0%0A)%0A%0A%5D&=+%0A%2F=%0A%0A%7D&_x:0.5%3B&=Insert&=Home&=Page%20Up&_h:2%3B&=+%3B&@=Win&=A&=Z&=E&=R&=T&_h:2%3B&=Shift&_h:2%3B&=Enter&_h:2%3B&=Enter&=Y&=U&=I&=O&=P&=%C2%A8%0A%5E&=%C2%A3%0A$&_x:0.5%3B&=Delete&=End&=Page%20Down%3B&@=Ctrl&=Q&=S&=D&=F&=G&_x:3%3B&=H&=J&=K&=L&=M&=%25%0A%C3%B9&=%C2%B5%0A*&_x:0.5%3B&=1%0AEnd&=Up&=3%0APgDn&_h:2%3B&=Enter%3B&@=%3E%0A%3C&=W&=X&=C&=V&=B&_w:2%3B&=Space&_w:2%3B&=Space&=N&=%3F%0A,&=.%0A%2F%3B&=%2F%2F%0A%2F:&=%C2%A7%0A!&=Alt%20Gr&_x:0.5%3B&=Left&=Down&=Right)
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: RedDot handwired
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/reddot: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/reddot/reddot.c b/keyboards/handwired/reddot/reddot.c
deleted file mode 100755
index 4e1efc06ce..0000000000
--- a/keyboards/handwired/reddot/reddot.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "reddot.h"
-
-void matrix_init_kb(void) {
-
- matrix_init_user();
-}
-
diff --git a/keyboards/handwired/reddot/reddot.h b/keyboards/handwired/reddot/reddot.h
deleted file mode 100755
index a763f2ddc3..0000000000
--- a/keyboards/handwired/reddot/reddot.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k10, k11, k12, k13, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k30, k31, k32, \
- k40, k41, k42, k43, k44, k45, k46, k66, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k50, k51, k52, k53, \
- k60, k61, k62, k63, k64, k65, k68, k69, k6A, k6B, k6C, k6D, k6E, k70, k71, k72, \
- k80, k81, k82, k83, k84, k85, k86, k88, k89, k8A, k8B, k8C, k8D, k8E, k90, k91, k92, k93 \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k10, k11, k12, k13 }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k30, k31, k32, KC_NO }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k50, k51, k52, k53 }, \
- { k60, k61, k62, k63, k64, k65, k66, KC_NO, k68, k69, k6A, k6B, k6C, k6D, k6E, k70, k71, k72, KC_NO }, \
- { k80, k81, k82, k83, k84, k85, k86, KC_NO, k88, k89, k8A, k8B, k8C, k8D, k8E, k90, k91, k92, k93 } \
-}
diff --git a/keyboards/handwired/reddot/rules.mk b/keyboards/handwired/reddot/rules.mk
deleted file mode 100755
index 00ca06dd40..0000000000
--- a/keyboards/handwired/reddot/rules.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-# for avr upload
-USB = /dev/cu.usbmodem1421
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-ifdef TEENSY2
- BOOTLOADER = halfkay
- OPT_DEFS += -DATREUS_TEENSY2
- ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
-else
- BOOTLOADER = caterina
- OPT_DEFS += -DATREUS_ASTAR
- ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-endif
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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 on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-
-# upload: build
-# $(ATREUS_UPLOAD_COMMAND)
-
diff --git a/keyboards/handwired/retro_refit/config.h b/keyboards/handwired/retro_refit/config.h
deleted file mode 100644
index 34def3815a..0000000000
--- a/keyboards/handwired/retro_refit/config.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT retro_refit
-#define DESCRIPTION Retro Refit
-
-/* key matrix size */
-#define MATRIX_ROWS 11
-#define MATRIX_COLS 8
-
-// See note in retro_refit.h for an explanation of how this matrix is wired up
-#define MATRIX_ROW_PINS { D4, D7, B4, B5, B6, F7, F6, F5, F4, F1, F0 }
-#define MATRIX_COL_PINS { B0, B1, B2, B3, D2, D3, C7, D5 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 0
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 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
-
-/* Force NKRO Mode - If forced on, must be disabled via magic key (default = LShift+RShift+N) */
-#define FORCE_NKRO
-
-/*
- * Magic key options
- * These options allow the magic key functionality to be changed. This is useful
- * if your keyboard/keypad is missing keys and you want magic key support.
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* remap magic keys */
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-#define MAGIC_KEY_LOCK BSLS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/retro_refit/info.json b/keyboards/handwired/retro_refit/info.json
deleted file mode 100644
index 44ae97cd12..0000000000
--- a/keyboards/handwired/retro_refit/info.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "keyboard_name": "handwired/retro_refit",
- "url": "",
- "maintainer": "qmk",
- "width": 15.5,
- "height": 6.5,
- "layouts": {
- "LAYOUT": {
- "key_count": 81,
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"F1", "x":1, "y":0},
- {"label":"F2", "x":2, "y":0},
- {"label":"F3", "x":3, "y":0},
- {"label":"F4", "x":4, "y":0},
- {"label":"F5", "x":5, "y":0},
- {"label":"F6", "x":6, "y":0},
- {"label":"F7", "x":7, "y":0},
- {"label":"F8", "x":8, "y":0},
- {"label":"F9", "x":9, "y":0},
- {"label":"F10", "x":10, "y":0},
- {"label":"Num Lock", "x":11.5, "y":0},
- {"label":"Scroll Lock", "x":12.5, "y":0},
- {"label":"Print Screen", "x":13.5, "y":0},
- {"label":"Pause", "x":14.5, "y":0},
- {"label":"`", "x":0, "y":1.5},
- {"label":"1", "x":1, "y":1.5},
- {"label":"2", "x":2, "y":1.5},
- {"label":"3", "x":3, "y":1.5},
- {"label":"4", "x":4, "y":1.5},
- {"label":"5", "x":5, "y":1.5},
- {"label":"6", "x":6, "y":1.5},
- {"label":"7", "x":7, "y":1.5},
- {"label":"8", "x":8, "y":1.5},
- {"label":"9", "x":9, "y":1.5},
- {"label":"0", "x":10, "y":1.5},
- {"label":"-", "x":11, "y":1.5},
- {"label":"=", "x":12, "y":1.5},
- {"label":"Backspace", "x":13, "y":1.5, "w":1.5},
- {"label":"Home", "x":14.5, "y":1.5},
- {"label":"Tab", "x":0, "y":2.5, "w":1.5},
- {"label":"Q", "x":1.5, "y":2.5},
- {"label":"W", "x":2.5, "y":2.5},
- {"label":"E", "x":3.5, "y":2.5},
- {"label":"R", "x":4.5, "y":2.5},
- {"label":"T", "x":5.5, "y":2.5},
- {"label":"Y", "x":6.5, "y":2.5},
- {"label":"U", "x":7.5, "y":2.5},
- {"label":"I", "x":8.5, "y":2.5},
- {"label":"O", "x":9.5, "y":2.5},
- {"label":"P", "x":10.5, "y":2.5},
- {"label":"[", "x":11.5, "y":2.5},
- {"label":"]", "x":12.5, "y":2.5},
- {"label":"Page Up", "x":14.5, "y":2.5},
- {"label":"Ctrl", "x":0, "y":3.5, "w":1.75},
- {"label":"A", "x":1.75, "y":3.5},
- {"label":"S", "x":2.75, "y":3.5},
- {"label":"D", "x":3.75, "y":3.5},
- {"label":"F", "x":4.75, "y":3.5},
- {"label":"G", "x":5.75, "y":3.5},
- {"label":"H", "x":6.75, "y":3.5},
- {"label":"J", "x":7.75, "y":3.5},
- {"label":"K", "x":8.75, "y":3.5},
- {"label":"L", "x":9.75, "y":3.5},
- {"label":";", "x":10.75, "y":3.5},
- {"label":"'", "x":11.75, "y":3.5},
- {"label":"Enter", "x":12.75, "y":3.5, "w":1.75},
- {"label":"Page Down", "x":14.5, "y":3.5},
- {"label":"Shift", "x":0, "y":4.5, "w":2.25},
- {"label":"Z", "x":2.25, "y":4.5},
- {"label":"X", "x":3.25, "y":4.5},
- {"label":"C", "x":4.25, "y":4.5},
- {"label":"V", "x":5.25, "y":4.5},
- {"label":"B", "x":6.25, "y":4.5},
- {"label":"N", "x":7.25, "y":4.5},
- {"label":"M", "x":8.25, "y":4.5},
- {"label":",", "x":9.25, "y":4.5},
- {"label":".", "x":10.25, "y":4.5},
- {"label":"/", "x":11.25, "y":4.5},
- {"label":"Shift", "x":12.25, "y":4.5, "w":1.25},
- {"label":"Up", "x":13.5, "y":4.5},
- {"label":"End", "x":14.5, "y":4.5},
- {"label":"Alt", "x":0, "y":5.5, "w":1.25},
- {"label":"Caps Lock", "x":1.25, "y":5.5, "w":1.25},
- {"label":"\\", "x":2.5, "y":5.5},
- {"label":"Space", "x":3.5, "y":5.5, "w":7},
- {"label":"Insert", "x":10.5, "y":5.5},
- {"label":"Delete", "x":11.5, "y":5.5},
- {"label":"Left", "x":12.5, "y":5.5},
- {"label":"Down", "x":13.5, "y":5.5},
- {"label":"Right", "x":14.5, "y":5.5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/retro_refit/keymaps/default/keymap.c b/keyboards/handwired/retro_refit/keymaps/default/keymap.c
deleted file mode 100644
index 2f9f28478e..0000000000
--- a/keyboards/handwired/retro_refit/keymaps/default/keymap.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#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 \
- ),
-};
diff --git a/keyboards/handwired/retro_refit/readme.md b/keyboards/handwired/retro_refit/readme.md
deleted file mode 100644
index 8dfca7b10b..0000000000
--- a/keyboards/handwired/retro_refit/readme.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# retro_refit
-
-The retro refit keyboard used a Teensy to replace the original controller on a 386 "laptop".
-
-[Image Gallery](https://imgur.com/a/08Fyj)
-
-This keyboard uses a LAYOUT macro that is a great example of using a non-standard row-column matrix. The keyboard in question had 11 rows and 8 columns, but the rows were not all horizontal, and the columns were not all vertical. For example, row 2 contained "Print Screen", "N", "M", ",", ".", "/", "Right Shift", and"Left Alt". Column 0 contained "F6", "7", "O", "'", "Q", "D", "B", "Left Alt", "Up Arrow", and "Down Arrow".
-
-The macro makes programming the keys easier and in a more straight-forward manner because it realigns the keys into a 6x15 sensible keyboard layout instead of the obtuse 11x8 matrix. Each Kxy corresponds to a key in row x column y.
-
-```
-#define LAYOUT( \
- K77, K05, K04, K03, K02, K01, K00, KA7, KA6, KA5, KA4, KA3, KA2, K11, K94, \
- K27, K76, K75, K74, K73, K72, K71, K70, K67, K66, K65, K64, K63, K62, KA1, \
- K61, K60, K57, K56, K55, K54, K53, K52, K51, K50, K47, K46, K45, K97, \
- K43, K42, K41, K40, K37, K36, K35, K34, K33, K32, K31, K30, K44, K87, \
- K26, K24, K23, K22, K21, K20, K17, K16, K15, K14, K13, K12, KA0, K91, \
- K10, K06, K25, K07, K86, K85, K95, K90, K93 \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37 }, \
- { K40, K41, K42, K43, K44, K45, K46, K47 }, \
- { K50, K51, K52, K53, K54, K55, K56, K57 }, \
- { K60, K61, K62, K63, K64, K65, K66, K67 }, \
- { K70, K71, K72, K73, K74, K75, K76, K77 }, \
- { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K85, K86, K87 }, \
- { K90, K91, KC_NO, K93, K94, K95, KC_NO, K97 }, \
- { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7 } \
-}
-```
-
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: Leading Edge D3 386 keyboard, Teensy
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/retro_refit: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/retro_refit/retro_refit.c b/keyboards/handwired/retro_refit/retro_refit.c
deleted file mode 100644
index 3d610eba34..0000000000
--- a/keyboards/handwired/retro_refit/retro_refit.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include "retro_refit.h"
-#include "led.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- // Disable status LED on KB, enable status LED on Teensy (KB_STATUS = !TEENSY_STATUS)
- DDRD |= (1<<6);
- PORTD |= (1<<6);
-
- matrix_init_user();
-};
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
- // output low
- DDRD |= (1<<0);
- PORTD &= ~(1<<0);
- } else {
- // Hi-Z
- DDRD &= ~(1<<0);
- PORTD &= ~(1<<0);
- }
- if (usb_led & (1<<USB_LED_NUM_LOCK)) {
- // output low
- DDRD |= (1<<1);
- PORTD &= ~(1<<1);
- } else {
- // Hi-Z
- DDRD &= ~(1<<1);
- PORTD &= ~(1<<1);
- }
- if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
- // output low
- DDRC |= (1<<6);
- PORTC &= ~(1<<6);
- } else {
- // Hi-Z
- DDRC &= ~(1<<6);
- PORTC &= ~(1<<6);
- }
-
- led_set_user(usb_led);
-}; \ No newline at end of file
diff --git a/keyboards/handwired/retro_refit/retro_refit.h b/keyboards/handwired/retro_refit/retro_refit.h
deleted file mode 100644
index ad1c567a84..0000000000
--- a/keyboards/handwired/retro_refit/retro_refit.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-// This macro is an example of using a non-standard row-column matrix. The
-// keyboard in question had 11 rows and 8 columns, but the rows were not all
-// horizontal, and the columns were not all vertical. For example, row 2
-// contained "Print Screen", "N", "M", ",", ".", "/", "Right Shift", and
-// "Left Alt". Column 0 contained "F6", "7", "O", "'", "Q", "D", "B",
-// "Left Alt", "Up Arrow", and "Down Arrow".
-//
-// The macro makes programming the keys easier and in a more straight-forward
-// manner because it realigns the keys into a 6x15 sensible keyboard layout
-// instead of the obtuse 11x8 matrix.
-
-#define LAYOUT( \
- K77, K05, K04, K03, K02, K01, K00, KA7, KA6, KA5, KA4, KA3, KA2, K11, K94, \
- K27, K76, K75, K74, K73, K72, K71, K70, K67, K66, K65, K64, K63, K62, KA1, \
- K61, K60, K57, K56, K55, K54, K53, K52, K51, K50, K47, K46, K45, K97, \
- K43, K42, K41, K40, K37, K36, K35, K34, K33, K32, K31, K30, K44, K87, \
- K26, K24, K23, K22, K21, K20, K17, K16, K15, K14, K13, K12, KA0, K91, \
- K10, K06, K25, K07, K86, K85, K95, K90, K93 \
-) { \
- { K00, K01, K02, K03, K04, K05, K06, K07 }, \
- { K10, K11, K12, K13, K14, K15, K16, K17 }, \
- { K20, K21, K22, K23, K24, K25, K26, K27 }, \
- { K30, K31, K32, K33, K34, K35, K36, K37 }, \
- { K40, K41, K42, K43, K44, K45, K46, K47 }, \
- { K50, K51, K52, K53, K54, K55, K56, K57 }, \
- { K60, K61, K62, K63, K64, K65, K66, K67 }, \
- { K70, K71, K72, K73, K74, K75, K76, K77 }, \
- { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K85, K86, K87 }, \
- { K90, K91, KC_NO, K93, K94, K95, KC_NO, K97 }, \
- { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7 } \
-}
diff --git a/keyboards/handwired/retro_refit/rules.mk b/keyboards/handwired/retro_refit/rules.mk
deleted file mode 100644
index 98aa19e6b1..0000000000
--- a/keyboards/handwired/retro_refit/rules.mk
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key
-# 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
-# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-# MIDI_ENABLE = YES # MIDI controls
-# UNICODE_ENABLE = YES # Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/handwired/rs60/README.md b/keyboards/handwired/rs60/README.md
deleted file mode 100644
index 07c967e276..0000000000
--- a/keyboards/handwired/rs60/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# rs60: Handwired Slim Preonic Clone
-
-I wanted a preonic layout but with a very low profile. As Jack is still working on the Preonic PCB for Kailh Choc switches, I figured I could try to handwire one myself. It's my first custom keyboard, so I had a lot to learn.
-
-First I designed the case in fusion 360. I wanted to build it using acrylic, constrained myself to standard acrylic sheet thickness.
-
-![](https://imgur.com/NscS7Rd.jpg)
-
-You can download the model [here](https://a360.co/2OqiKLm).
-
-To test my design I 3D printed the parts.
-
-![](https://imgur.com/MSF7zLS.jpg)
-
-The result was encouraging, so I decided to build a prototype out of the printed plates using Kailh Choc brown switches. I tried to make the handwiring job as flat as possible so it can fit in my design.
-
-![](https://i.imgur.com/67yZx0V.jpg)
-![](https://i.imgur.com/ft72Cgj.jpg)
-
-I designed switch plate and the middle plates so that they would be glued together. The middle plate has inserts to attach the bottom plate using m8 screws.
-
-![](https://i.imgur.com/GstTohI.jpg)
-
-The end result is not too bad, but there is a few things I would do differently. Gluing 3D printed plates wasn't a good idea. The switch layer is so thin, that it bends when all the switches are slotted. As a result, the keyboard is not entirely flat. I will replace the bottom plate by a metal one so I get more weight and rigidity.
-
-Even with acrylic, I think I will have the same issue. I might switch to screws + bolts that go all the way through.
-
diff --git a/keyboards/handwired/rs60/config.h b/keyboards/handwired/rs60/config.h
deleted file mode 100644
index 371150a79a..0000000000
--- a/keyboards/handwired/rs60/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2018 QMK Contributors
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should 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 0xFEED
-#define PRODUCT_ID 0x4260
-#define DEVICE_VER 0x0001
-#define MANUFACTURER rs
-#define PRODUCT rs60
-#define DESCRIPTION Preonic clone based on pro micro
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 12
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { B5, B6, B4, B2, E6 }
-#define MATRIX_COL_PINS { C6, D4, D0, D1, D2, D3, F4, F5, F6, F7, B1, B3}
-#define UNUSED_PINS { }
-
-#define QMK_ESC_OUTPUT C6
-#define QMK_ESC_INPUT B4
-#define QMK_LED B0
-// #define QMK_SPEAKER C6
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- false \
-)
diff --git a/keyboards/handwired/rs60/keymaps/default/keymap.c b/keyboards/handwired/rs60/keymaps/default/keymap.c
deleted file mode 100644
index 9fea769d05..0000000000
--- a/keyboards/handwired/rs60/keymaps/default/keymap.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/* Copyright 2015-2017 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/>.
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY,
- _COLEMAK,
- _DVORAK,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-enum keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
- RAISE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT( \
- 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
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_COLEMAK] = LAYOUT( \
- KC_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
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_DVORAK] = LAYOUT( \
- KC_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
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | 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 \
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | 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 \
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_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, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
- _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
-)
-};
-
-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 LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- }
- return true;
-};
diff --git a/keyboards/handwired/rs60/keymaps/default/readme.md b/keyboards/handwired/rs60/keymaps/default/readme.md
deleted file mode 100644
index e911968dd9..0000000000
--- a/keyboards/handwired/rs60/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default Preonic layout - largely based on the Planck's \ No newline at end of file
diff --git a/keyboards/handwired/rs60/rs60.c b/keyboards/handwired/rs60/rs60.c
deleted file mode 100644
index f748740cbe..0000000000
--- a/keyboards/handwired/rs60/rs60.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2018 QMK Community
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "rs60.h"
diff --git a/keyboards/handwired/rs60/rs60.h b/keyboards/handwired/rs60/rs60.h
deleted file mode 100644
index f2113f05c3..0000000000
--- a/keyboards/handwired/rs60/rs60.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright 2018 QMK Community
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
- k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
- { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
-}
-
-#define LAYOUT_ortho_5x12 LAYOUT
diff --git a/keyboards/handwired/rs60/rules.mk b/keyboards/handwired/rs60/rules.mk
deleted file mode 100644
index 7b4ec69d0d..0000000000
--- a/keyboards/handwired/rs60/rules.mk
+++ /dev/null
@@ -1,61 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-BOOTLOADER = qmk-dfu
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-LAYOUTS = ortho_5x12
-
-# Boot Section Size in *bytes*
-#OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-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
-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/space_oddity/config.h b/keyboards/handwired/space_oddity/config.h
deleted file mode 100644
index 8322164232..0000000000
--- a/keyboards/handwired/space_oddity/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER James Taylor
-#define PRODUCT Space Odyssey
-#define DESCRIPTION Keyboard
-
-#define MOUSEKEY_INTERVAL 16
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
-#define MOUSEKEY_WHEEL_DELAY 0
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 12
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3 }
-#define MATRIX_COL_PINS { B2, B6, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 0
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 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
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 0
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
diff --git a/keyboards/handwired/space_oddity/info.json b/keyboards/handwired/space_oddity/info.json
deleted file mode 100644
index 37e24b33c4..0000000000
--- a/keyboards/handwired/space_oddity/info.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "keyboard_name": "Space Oddity",
- "url": "",
- "maintainer": "qmk",
- "width": 14,
- "height": 6,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Macro 0", "x":0, "y":0, "w":2},
- {"label":"Macro 1", "x":2, "y":0, "w":2},
- {"label":"Macro 2", "x":4, "y":0, "w":2},
- {"label":"Macro 3", "x":6, "y":0, "w":2},
- {"label":"Macro 4", "x":8, "y":0, "w":2},
- {"label":"Dynamic Macro 1", "x":10, "y":0, "w":2},
- {"label":"Dynamic Macro 2", "x":12, "y":0, "w":2},
- {"label":"~", "x":0, "y":1, "w":2},
- {"label":"!", "x":2, "y":1},
- {"label":"@", "x":3, "y":1},
- {"label":"#", "x":4, "y":1},
- {"label":"$", "x":5, "y":1},
- {"label":"%", "x":6, "y":1},
- {"label":"^", "x":7, "y":1},
- {"label":"&", "x":8, "y":1},
- {"label":"*", "x":9, "y":1},
- {"label":"(", "x":10, "y":1},
- {"label":")", "x":11, "y":1},
- {"label":"Backspace", "x":12, "y":1, "w":2},
- {"label":"Tab", "x":0, "y":2, "w":2},
- {"label":"Q", "x":2, "y":2},
- {"label":"W", "x":3, "y":2},
- {"label":"E", "x":4, "y":2},
- {"label":"R", "x":5, "y":2},
- {"label":"T", "x":6, "y":2},
- {"label":"Y", "x":7, "y":2},
- {"label":"U", "x":8, "y":2},
- {"label":"I", "x":9, "y":2},
- {"label":"O", "x":10, "y":2},
- {"label":"P", "x":11, "y":2},
- {"label":"_", "x":12, "y":2, "w":2},
- {"label":"Esc (Ctrl)", "x":0, "y":3, "w":2},
- {"label":"A", "x":2, "y":3},
- {"label":"S", "x":3, "y":3},
- {"label":"D", "x":4, "y":3},
- {"label":"F", "x":5, "y":3},
- {"label":"G", "x":6, "y":3},
- {"label":"H", "x":7, "y":3},
- {"label":"J", "x":8, "y":3},
- {"label":"K", "x":9, "y":3},
- {"label":"L", "x":10, "y":3},
- {"label":":", "x":11, "y":3},
- {"label":"\"", "x":12, "y":3, "w":2},
- {"label":"Caps Lock (Shift)", "x":0.25, "y":4, "w":1.75},
- {"label":"Z", "x":2, "y":4},
- {"label":"X", "x":3, "y":4},
- {"label":"C", "x":4, "y":4},
- {"label":"V", "x":5, "y":4},
- {"label":"B", "x":6, "y":4},
- {"label":"N", "x":7, "y":4},
- {"label":"M", "x":8, "y":4},
- {"label":"<", "x":9, "y":4},
- {"label":">", "x":10, "y":4},
- {"label":"?", "x":11, "y":4},
- {"label":"Enter (Shift)", "x":12, "y":4, "w":1.75},
- {"label":"MO(2)", "x":1, "y":5},
- {"label":"MO(1)", "x":2, "y":5},
- {"label":"GUI", "x":3, "y":5},
- {"label":"Alt", "x":4, "y":5},
- {"label":"Ctrl", "x":5, "y":5, "w":2},
- {"label":"Space", "x":7, "y":5, "w":2},
- {"label":"Left (Alt)", "x":9, "y":5},
- {"label":"Right (Hyper)", "x":10, "y":5},
- {"label":"Up (MO(1))", "x":11, "y":5},
- {"label":"Down (MO(2))", "x":12, "y":5}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/space_oddity/keymaps/default/keymap.c b/keyboards/handwired/space_oddity/keymaps/default/keymap.c
deleted file mode 100644
index e7836353ec..0000000000
--- a/keyboards/handwired/space_oddity/keymaps/default/keymap.c
+++ /dev/null
@@ -1,231 +0,0 @@
-/* Keymap for Space Oddity Keyboard
- Copyright (C) 2017 James Taylor
-
- This program is free software: you can 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
-
-// Custom keycodes needed for dynamic macros.
-enum custom_keycodes {
-
- QWERTY = SAFE_RANGE,
- PAIR_PR,
- PAIR_BR,
- PAIR_CB,
- LAMBDA,
- DYNAMIC_MACRO_RANGE,
-
-};
-
-// Tap Dance initializer.
-enum {
-
- SFT_CAPS = 0,
-
-};
-
-#include "dynamic_macro.h"
-
-// Tap dance actions - double tap for Caps Lock.
-qk_tap_dance_action_t tap_dance_actions[] = {
-
- [SFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
-
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Here is an ASCII version of the base layout. Note that Dynamic Macros 1 and 2 are considered Macro 5 and Macro 6.
- *
- * ___________________________________________________________________________________
- * | | | | | | Dynamic | Dynamic |
- * | () | [] | {} | NO OP | NO OP | Macro 1 | Macro 2 |
- * |___________|___________|___________|___________|___________|___________|___________|
- * | | | | | | | | | | | | |
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BKSP |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | - |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * |ESC (CTL_T)| A | S | D | F | G | H | J | K | L | ; | ' |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * | SHFT | Z | X | C | V | B | N | M | , | . | / |SHFT(ENT)|
- * |_________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_________|
- * | | | | | | | ALT | HYP | LT 1| LT 2|
- * |MO(2)|MO(1)| GUI | ALT | CTRL | SPC |(LFT)|(RGT)| (UP)|(DWN)|
- * |_____|_____|_____|_____|___________|___________|_____|_____|_____|_____|
- */
-
- [0] = LAYOUT( \
- PAIR_PR, PAIR_BR, PAIR_CB, XXXXXXX, XXXXXXX, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, \
- 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.
- * Blank keys correspond to the KC_TRNS keycode.
- *
- * ___________________________________________________________________________________
- * | | | | | | DYN REC | DYN REC |
- * | LAMBDA | | | | | 1 | 2 |
- * |___________|___________|___________|___________|___________|___________|___________|
- * | DYN REC | | | | | | | | | | | |
- * | STOP | F1 | F2 | F3 | F4 | F5 | [ | 7 | 8 | 9 | * | DEL |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * | | F6 | F7 | F8 | F9 | F10 | ] | 4 | 5 | 6 | + | = |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * | \ | F11 | F12 | F13 | F14 | F15 | { | 1 | 2 | 3 | - | | |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * | | F16 | F17 | F18 | F19 | F20 | } | 0 | , | . | / | |
- * |_________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_________|
- * | | | | | | | | | | |
- * | | | | | | | | | | |
- * |_____|_____|_____|_____|___________|___________|_____|_____|_____|_____|
- *
- */
-
- [1] = LAYOUT( \
- LAMBDA, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, \
- DYN_REC_STOP, 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.
- *
- * ___________________________________________________________________________________
- * | | | | | | | |
- * | | | | | | | |
- * |___________|___________|___________|___________|___________|___________|___________|
- * | | | | MS | | | | | | | | |
- * | | | | UP | | | | | | | | |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | MS | MS | MS | | | | | | | |
- * | | | LFT | DWN | RGT | | | MS1 | MS3 | MS2 | | |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * | | | | | | | | | | | | |
- * |___________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|___________|
- * | | | | | | | | | | | | |
- * | |RESET| | | | | | | | | | |
- * |_________|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_________|
- * | | | | | | | | | | |
- * | | | | | | | | | | F(2)|
- * |_____|_____|_____|_____|___________|___________|_____|_____|_____|_____|
- *
- */
-
- [2] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(2) \
- )
-};
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-// Simple macro ideas follow. Each of them is designed to give you a quick way to create pairs of
-// delimiters and then position the cursor between them, much like Emacs' ParEdit does. This way,
-// you can have some convenient coding "helpers" even when not using Emacs. It is also nice for
-// LaTeX editing.
-//
-// Customize to your heart's content!
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
- if (!process_record_dynamic_macro(keycode, record)) {
- return false;
- }
-
- switch (keycode) {
-
- case PAIR_PR:
- if (record->event.pressed) {
- SEND_STRING("()"SS_TAP(X_LEFT));
- }
- return false;
-
- case PAIR_BR:
- if (record->event.pressed) {
- SEND_STRING("[]"SS_TAP(X_LEFT));
- }
- return false;
-
- case PAIR_CB:
- if (record->event.pressed) {
- SEND_STRING("{}"SS_TAP(X_LEFT));
- }
- return false;
-
- // Probably something only Lisp users will appreciate...
- case LAMBDA:
- if (record->event.pressed) {
- SEND_STRING("(lambda ())"SS_TAP(X_LEFT)SS_TAP(X_LEFT));
- }
- return false;
- }
-
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
- if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_COMPOSE)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_KANA)) {
-
- } else {
-
- }
-
-}
diff --git a/keyboards/handwired/space_oddity/readme.md b/keyboards/handwired/space_oddity/readme.md
deleted file mode 100644
index 2997833f09..0000000000
--- a/keyboards/handwired/space_oddity/readme.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Space Oddity Keyboard
-
-![Space Oddity](https://i.imgur.com/dE9Y4XK.jpg)
-
-This firmware is for an Emacs-focused handwired custom keyboard using an Arduino Pro Micro.
-
-As originally designed, the top row consists of 2u keys which are used for user-defined macros. The keys for Shift and Enter are 1.75u.
-
-Some simple example macros are included. To add your own, just add the number of the macro you want in the appropriate section.
-
-This design was conceived by James Taylor. Any requests for further information, suggestions, and/or tips for building your own are welcome!
-
-Keyboard Maintainer: [James Taylor](https://github.com/broken-username)
-Hardware Supported: Arduino Pro Micro
-
-## Pinout
-
-The following pins are used:
-- Columns 1-12: B2, B6, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3
-- Rows 1-6: F4, F5, F6, F7, B1, B3
-
-## Flashing
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/space_oddity:default
-
-On GNU/Linux, you can flash the default layout onto the microcontroller by using
-
- avrdude -p atmega32u4 -P /dev/ttyACM0 -c avr109 -U flash:w:handwired_space_oddity_default.hex
-
-Note that the device name under `/dev` may be different.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.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/space_oddity/rules.mk b/keyboards/handwired/space_oddity/rules.mk
deleted file mode 100644
index b597ef2b09..0000000000
--- a/keyboards/handwired/space_oddity/rules.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
-TAP_DANCE_ENABLE = yes
diff --git a/keyboards/handwired/space_oddity/space_oddity.c b/keyboards/handwired/space_oddity/space_oddity.c
deleted file mode 100644
index 9a9a270a43..0000000000
--- a/keyboards/handwired/space_oddity/space_oddity.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "space_oddity.h"
diff --git a/keyboards/handwired/space_oddity/space_oddity.h b/keyboards/handwired/space_oddity/space_oddity.h
deleted file mode 100644
index d35bfea587..0000000000
--- a/keyboards/handwired/space_oddity/space_oddity.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K000, K002, K004, K006, K008, 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, \
- K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, \
- K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, \
- K500, K501, K502, K503, K505, K507, K508, K509, K510, K511 \
-) { \
- { K000, KC_NO, K002, KC_NO, K004, KC_NO, K006, KC_NO, K008, KC_NO, 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 }, \
- { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 }, \
- { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411 }, \
- { K500, K501, K502, K503, KC_NO, K505, KC_NO, K507, K508, K509, K510, K511 } \
-}
diff --git a/keyboards/handwired/splittest/config.h b/keyboards/handwired/splittest/config.h
deleted file mode 100644
index 9e4fb38ca0..0000000000
--- a/keyboards/handwired/splittest/config.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xCB10
-#define PRODUCT_ID 0x1111
-#define DEVICE_VER 0x0100
-#define MANUFACTURER Keebio
-#define PRODUCT Split Tester
-#define DESCRIPTION Split keyboard testing unit
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 1
-
-// wiring of each half
-#define MATRIX_ROW_PINS { B3 }
-#define MATRIX_COL_PINS { B6 }
-#define SPLIT_HAND_PIN F6
-#define SOFT_SERIAL_PIN D1
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* ws2812 RGB LED */
-#define RGB_DI_PIN D3
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 12
-#define RGBLED_SPLIT { 6, 6 }
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
diff --git a/keyboards/handwired/splittest/keymaps/default/config.h b/keyboards/handwired/splittest/keymaps/default/config.h
deleted file mode 100644
index ecebd36589..0000000000
--- a/keyboards/handwired/splittest/keymaps/default/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define USE_I2C
diff --git a/keyboards/handwired/splittest/keymaps/default/keymap.c b/keyboards/handwired/splittest/keymaps/default/keymap.c
deleted file mode 100644
index 1c15f6f1df..0000000000
--- a/keyboards/handwired/splittest/keymaps/default/keymap.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(RGB_MOD, RESET)
-};
diff --git a/keyboards/handwired/splittest/readme.md b/keyboards/handwired/splittest/readme.md
deleted file mode 100644
index 3dbff32ed4..0000000000
--- a/keyboards/handwired/splittest/readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-Split Tester
-============
-
-A two-switch tester built using two Pro Micros, mainly intended to test RGB on split keyboards. Seen here: https://www.instagram.com/p/BvCPNzynwrV/
-
-Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
-Hardware Supported: Pro Micro
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/splittest:default
-
-Example of flashing this keyboard:
-
- make handwired/splittest:default:avrdude
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-Wiring
-------
-- Add switches to both Pro Micros across B3 and B6 pins
-- Add pull-up resistor to left side between VCC and F6
-- Add pull-down resistors to right side between GND and F6
-- Connect the following pins on both sides together: D0, D1, GND, VCC
-- Add I2C 4.7kOhm resistors between D0 and VCC, and D1 and VCC
-- Wire Di of RGB strip for each half to D2
diff --git a/keyboards/handwired/splittest/rules.mk b/keyboards/handwired/splittest/rules.mk
deleted file mode 100644
index 9512c0f648..0000000000
--- a/keyboards/handwired/splittest/rules.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = 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
diff --git a/keyboards/handwired/splittest/splittest.c b/keyboards/handwired/splittest/splittest.c
deleted file mode 100644
index 3c919a565d..0000000000
--- a/keyboards/handwired/splittest/splittest.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "splittest.h"
diff --git a/keyboards/handwired/splittest/splittest.h b/keyboards/handwired/splittest/splittest.h
deleted file mode 100644
index 17b7081a02..0000000000
--- a/keyboards/handwired/splittest/splittest.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT(L1, R1) {{L1}, {R1}}
diff --git a/keyboards/handwired/terminus_mini/config.h b/keyboards/handwired/terminus_mini/config.h
deleted file mode 100644
index e1b5daccd7..0000000000
--- a/keyboards/handwired/terminus_mini/config.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
-Copyright 2017 James Morgan <ja.morgan1@outlook.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER James Morgan
-#define PRODUCT terminus_mini
-#define DESCRIPTION A custom keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { B5, B4, D7, D6 }
-#define MATRIX_COL_PINS { B0, D0, D5, B6, D4, C7, F7, F6, F5, F4, F1, F0 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-//define tapping-toggle count
-#define TAPPING_TOGGLE 1
-
-//define maximum duration of hold required to register a tap vs hold default is 200
-#define TAPPING_TERM 150 //reduce time required to register a held key
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * rules.mk for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-#endif
diff --git a/keyboards/handwired/terminus_mini/info.json b/keyboards/handwired/terminus_mini/info.json
deleted file mode 100644
index 9271b413eb..0000000000
--- a/keyboards/handwired/terminus_mini/info.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "keyboard_name": "handwired/terminus_mini",
- "url": "",
- "maintainer": "qmk",
- "width": 12,
- "height": 4,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"Tab", "x":0, "y":0},
- {"label":"Q", "x":1, "y":0},
- {"label":"W", "x":2, "y":0},
- {"label":"E", "x":3, "y":0},
- {"label":"R", "x":4, "y":0},
- {"label":"T", "x":5, "y":0},
- {"label":"Y", "x":6, "y":0},
- {"label":"U", "x":7, "y":0},
- {"label":"I", "x":8, "y":0},
- {"label":"O", "x":9, "y":0},
- {"label":"P", "x":10, "y":0},
- {"label":"Del", "x":11, "y":0},
- {"label":"Backspace", "x":0, "y":1},
- {"label":"A", "x":1, "y":1},
- {"label":"S", "x":2, "y":1},
- {"label":"D", "x":3, "y":1},
- {"label":"F", "x":4, "y":1},
- {"label":"G", "x":5, "y":1},
- {"label":"H", "x":6, "y":1},
- {"label":"J", "x":7, "y":1},
- {"label":"K", "x":8, "y":1},
- {"label":"L", "x":9, "y":1},
- {"label":";", "x":10, "y":1},
- {"label":"'", "x":11, "y":1},
- {"label":"Left Shift / (", "x":0, "y":2},
- {"label":"Z", "x":1, "y":2},
- {"label":"X", "x":2, "y":2},
- {"label":"C", "x":3, "y":2},
- {"label":"V", "x":4, "y":2},
- {"label":"B", "x":5, "y":2},
- {"label":"N", "x":6, "y":2},
- {"label":"M", "x":7, "y":2},
- {"label":",", "x":8, "y":2},
- {"label":".", "x":9, "y":2},
- {"label":"/", "x":10, "y":2},
- {"label":"Right Shift / )", "x":11, "y":2},
- {"label":"LCtrl", "x":0, "y":3},
- {"label":"GUI", "x":1, "y":3},
- {"label":"Lower", "x":2, "y":3},
- {"label":"LAlt", "x":3, "y":3},
- {"label":"Space / Lower", "x":4, "y":3, "w":2},
- {"label":"Enter / Raise", "x":6, "y":3, "w":2},
- {"label":"MO(_FUNCTION)", "x":8, "y":3},
- {"label":"MO(_MOUSE)", "x":9, "y":3},
- {"label":"App", "x":10, "y":3},
- {"label":"RCtrl", "x":11, "y":3}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/config.h b/keyboards/handwired/terminus_mini/keymaps/default/config.h
deleted file mode 100644
index 4817be2527..0000000000
--- a/keyboards/handwired/terminus_mini/keymaps/default/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
-
-#define TAPPING_TERM 150 //reduce time required to register a held key
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
deleted file mode 100644
index 276475873a..0000000000
--- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/* Copyright 2017 MogranJM
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-enum terminus_mini_layers {
- _COLEMAK,
- _QWERTY,
- _DVORAK,
- _LOWER,
- _RAISE,
- _FUNCTION,
- _MOUSE,
- _ADJUST
-};
-
-enum terminus_mini_keycodes {
- COLEMAK = SAFE_RANGE,
- QWERTY,
- DVORAK,
- LOWER,
- RAISE,
- FUNCTION,
- MOUSE,
- // Custom Macros
- R_PIPE,
- R_POINT
-};
-
-#define SPC_LW LT(_LOWER, KC_SPC)
-#define ENT_RS LT(_RAISE, KC_ENT)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Colemak -
- * ,----------------------------------------------------------------------------------.
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
- * |-----+------+------+------+------+-------------+------+------+------+------+------|
- * | BS | A | R | S | T | D | H | N | E | I | O | " |
- * |-----+------+------+------+------+-------------+------+------+------+------+------|
- * | LSPO| Z | X | C | V | B | K | M | , | . | / | RSPC |
- * |-----+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl| LGUI | Lower| LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Menu | Ctrl |
- * `----------------------------------------------------------------------------------'
- */
-[_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 \
- ),
-
-/* QWERTY -
- * ,----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |-----+------+------+------+------+-------------+------+------+------+------+------|
- * | BS | A | S | D | F | G | H | J | K | L | ; | " |
- * |-----+------+------+------+------+-------------+------+------+------+------+------|
- * | LSPO| Z | X | C | V | B | N | M | , | . | / | RSPC |
- * |-----+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl| LGUI | Lower| LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Menu | Ctrl |
- * `----------------------------------------------------------------------------------'
- */
-[_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 \
- ),
-
-/* Dvorak
- * ,-----------------------------------------------------------------------------------.
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | BS | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | LSPO | ; | Q | J | K | X | B | M | W | V | Z | RSPC |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | LGUI | Lower| LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Menu |Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-[_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 \
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | Tab | PgUp | Home | Up | End | / | 7 | 8 | 9 | * | | Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | BS | PgDn | Left | Down |Right | - | 4 | 5 | 6 | + | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | LSPO | Z | X | C | V | = | 1 | 2 | 3 | Enter| | RSPC |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | LGUI | Lower| LAlt | Space/Lower | 0 | . | Fn |ADJUST| Ctrl |
- * `-----------------------------------------------------------------------------------'
- Want to add tap-dance function to 0 key: Tap=0, doubleTap=Ent
- */
-
-[_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, _______ \
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | Esc | ! | @ | # | $ | % | ^ | & | * | - | + | Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | BS | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | " |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | LSPO | <- | %>% | { | [ | ` | \ | ] | } | . | ? | RSPC |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | LGUI | | LAlt | Space/Lower | Enter/Raise | Fn | Mouse| Raise| Ctrl |
- * `-----------------------------------------------------------------------------------'
- */
-
-[_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), _______, _______ \
- ),
-
-/*Function
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Mute | Vol- | Vol+ | | | | F1 | F2 | F3 | F4 | Ins |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Caps | Stop | |<< | >/|| | >>| | | | F5 | F6 | F7 | F8 |PrtSc |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | LSOB | | | | | | | F9 | F10 | F11 | F12 |ScrLk |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | LGUI | | Alt | Space/Lower | Enter/Raise | Fn | | |PsBrk |
- * `-----------------------------------------------------------------------------------'
- */
-
-[_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 \
- ),
-
-/* MOUSE
- * ,---------------------------------------------------------------------------------------.
- * | Esc | WhlU | WhlL | MsUp | WhlR | | | M1 | M2 | M3 | | |
- * |------+-------+------+-------+------+------+------+-------+-------+------+------+------|
- * | | WhlD | MsL | MsDn | MsR | | |LClick |RClick | | | |
- * |------+-------+------+-------+------+------+------+-------+-------+------+------+------|
- * | LSPO | | | | | | | | | | | RSCB |
- * |------+-------+------+-------+------+------+------+-------+-------+------+------+------|
- * | Ctrl | | | | Sensitivity | Sensitivity | |MOUSE | | Ctrl |
- * `---------------------------------------------------------------------------------------'
- */
-
-[_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 \
- ),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | | | | |RESET | |TermOn|TermOf| | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | |Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-
-[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, RESET, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, \
- _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
-)
-
-};
-
-void persistant_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-// Cases to switch default layer to QWERTY, COLEMAK or DVORAK and to access ADJUST layer
-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 LOWER:
- if (record->event.pressed) {
- layer_on(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_LOWER);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- case RAISE:
- if (record->event.pressed) {
- layer_on(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- } else {
- layer_off(_RAISE);
- update_tri_layer(_LOWER, _RAISE, _ADJUST);
- }
- return false;
- break;
- // Macros to send R pointer & dplyr pipe
- //R Pointer: <-
- case R_POINT:
- if (record->event.pressed) { // pointer
- SEND_STRING("<- ");
- //return MACRO(D(LSFT), T(COMM), U(LSFT), T(MINS), END);
- }
- break;
- //dplyr pipe: %>%
- case R_PIPE:
- if (record->event.pressed) { // dplyr pipe
- SEND_STRING("%>% ");
- //return MACRO(D(LSFT), T(5), T(DOT), T(5), U(LSFT), END);
- }
- break;
- }
- return true;
-}
-
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/readme.md b/keyboards/handwired/terminus_mini/keymaps/default/readme.md
deleted file mode 100644
index b192a88b71..0000000000
--- a/keyboards/handwired/terminus_mini/keymaps/default/readme.md
+++ /dev/null
@@ -1,160 +0,0 @@
-Copyright 2017 James Morgan <ja.morgan1@outlook.com>
-
-#MogranJM's terminus_mini layout - A handwired keyboard inspired by the UniKeyboard Terminus Mini 2.
-
-```
-make handwired/terminus_mini:default:teensy
-```
-
-This keymap is modified from the Planck default layout. Credit for the layout name goes to UniKeyboard & reddit's /u/blahlicus)
-
-The terminus_mini is a handwired 4x12 ortholinear keyboard with two 2U thumb bar keys. The microcontroller is a Teensy 2.0
-
-The TERMINUS_MINI layout (../../../terminus\_mini/terminus\_mini.h) is handwired and the 2U keys are handled using KC\_NO to detail that two columns do not have a 4th column.
-```
-.---------------------------------------------------------------------------------.
-| Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
-|-----+------+------+------+------+------+------+------+------+------+------+------|
-| BS | A | R | S | T | D | H | N | E | I | O | ' |
-|-----+------+------+------+------+------+------+------+------+------+------+------|
-| LSPO| Z | X | C | V | B | K | M | , | . | / | RSPC |
-|-----+------+------+------+------+------+------+------+------+------+------+------|
-| Ctrl| LGUI | LAlt | Lower| Space/Lower | Enter/Raise | Fn | Mouse| Menu | Ctrl |
-'----------------------------------------------------------------------------------'
-```
-
-
-### Base Layer - Colemak
-The base layout is Colemak. Since the CapsLock key is replaced with BackSpace, this layout has the delete key in the traditional backspace location.
-
-* QWERTY and Dvorak layers are accessible via the Adjust layer using the standard case switch macro as defined in the default Planck keymap.
-* I've implemented COLEMAK = SAFE\_RANGE when enumerating the custom\_keycodes, but I don't actually know what this does...
-* Space cadet is implemented in the shift keys (hold for shift, tap for respective parentheses)
-* I never find myself using the right-modifiers on a standard keyboard, so I've only implemented LGUI and LALT. I have intentions of improving my use of the ctrl key in correct hand alternation, so CTRL is implemented in both outside corners of the home row.
-
-
-#### Layer Shifting
-* The 4th key on the bottom row of the left hand PCB is used to access the *LOWER* layer via Tap/Toggle
-* The left 2U key is a **TAP_KEY** macro - Hold for momentary *LOWER* layer, Tap for Space.
-* The right 2U key is a **TAP_KEY** macro - Hold for momentary *RAISE* layer, Tap for Enter
-* The 2nd key on the bottom row of the right hand PCB is a **LAYER_MOMENTARY** for the *FUNCTION* layer
-* The 3rd key on the bottom row of the right hand PCB is a **TAP_TOGGLE** macro for the *MOUSE* layer
-
-### Alternate Base Layers - QWERTY & Dvorak
-```
-QWERTY
- .----------------------------------------------------------------------------------.
- | Tab | Q | W | E | R | T | Y | U | I | O | P | \ |
- |-----+------+------+------+------+------+------+------+------+------+------+------|
- | BS | A | S | D | F | G | H | J | K | L | ; | " |
- |-----+------+------+------+------+------+------+------+------+------+------+------|
- | LSPO| Z | X | C | V | B | N | M | , | . | / | RSPC |
- |-----+------+------+------+------+------+------+------+------+------+------+------|
- | Ctrl| LGUI | Lower| LAlt | SpaceLW | RSEnter | Fn | Mouse| Menu | Ctrl |
- `----------------------------------------------------------------------------------'
-
-DVORAK
- .----------------------------------------------------------------------------------.
- | Tab | " | , | . | P | Y | F | G | C | R | L | \ |
- |------+------+------+------+------+-----+------+------+------+------+------+------|
- | BS | A | O | E | U | I | D | H | T | N | S | / |
- |------+------+------+------+------+-----+------+------+------+------+------+------|
- | LSPO | ; | Q | J | K | X | B | M | W | V | Z | RSPC |
- |------+------+------+------+------+-----+------+------+------+------+------+------|
- | Ctrl | LGUI | Lower| LAlt | SpaceLW | RSEnter | Fn | Mouse| Menu | Ctrl |
- `----------------------------------------------------------------------------------'
-```
-
-### LOWER - Numpad & Navigation keys
-```
-,-----------------------------------------------------------------------------------.
-| Tab | PgUp | Home | Up | End | | 7 | 8 | 9 | + | | Del |
-|------+------+------+------+------+------+------+------+------+------+------+------|
-| BS | PgDn | Left | Down |Right | | 4 | 5 | 6 | Enter| | ' |
-|------+------+------+------+------+------+------+------+------+------+------+------|
-| LSPO | Z | X | C | V | | 1 | 2 | 3 | Enter| | RSPC |
-|------+------+------+------+-------------+-------------+------+------+------+------|
-| Ctrl | LGUI | Alt | LOWER| Space/Lower | 0 | . | Fn | Menu | Ctrl |
-'-----------------------------------------------------------------------------------'
-```
-The *LOWER* layer contains a navigation cluster on the left hand and a numpad on the right. This layer is momentary when the left thumb-bar or LOWER key is held and toggled on/off when the LOWER key is tapped.
-
-* The Navigation cluster is offset to the right compared to the traditional WASD nav cluster. With this implementation, you don't need to move your hand from the home position when navigating. Page Up & Down keys are found on the far left of the cluster.
-
-* All unused (blank on the above keymap) keys are locked out using the XXXXXXX filler (KC\_NO), all modifiers (edge |\_| keys \[except 0, \. & Fn\] on the above keymap) and the ZXCV cluster are transparent (\_\_\_\_\_\_\_) to the Base layer.
-
-[] TO DO!! - It would be nice to have a **TAP\_DANCE\_DOUBLE** implementation whereby a double tap of the right 2U key sends KC_PENT
-
-* Couldn't get this to work in Rev1, produced an error in the Make process.
-* When this is done, I can remove the clunky double Enter on the 4th column of the right hand PCB.
-
-### RAISE - Symbol Layer
-```
-,-----------------------------------------------------------------------.
-| Tab | | | | | | | | | | | \ |
-|-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
-| BS | ! | @ | # | $ | % | ^ | & | * | - | + | ' |
-|-----+-----+-----+-----+-----------+-----+-----+-----+-----+-----+-----|
-| LSPO| <- | %>% | { | [ | ` | | | ] | } | . | ? |RSPC |
-|-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
-| Ctrl|LGUI | |Lower|Space/Lower|Enter/Raise| Fn |Mouse| Menu| Ctrl|
-'-----------------------------------------------------------------------'
-```
-The *RAISE* layer contains the symbols. This layer is momentary when the right thumb bar is held.
-
-* Standard symbols can be found on the home row, in the traditional number row order as they occur on a standard keyboard.
-* Shifted symbols can be found on the second-from bottom row, abovee the bars - these include brackets, braces, grave and pipe keys.
- * At this stage, you need to shift to get to the Tilde key. I'd like to remove the shift requirement as I've done with the Pipe, but we'll see.
- * Special operators for R (Pointer: <- and dplyr pipe: %>%) can be found next to the left shift key
-* The bottom row of this layer is a replication of that of the Base layer, except that the **TAP_TOGGLE** *LOWER* key is blocked with XXXXXXX.
-
-### FUNCTION - Function & Media keys
-```
-,-----------------------------------------------------------------------------------.
-| Esc | Mute | Vol- | Vol+ | | | | | | | | Ins |
-|------+------+------+------+------+------+------+------+------+------+------+------|
-| Caps | Stop | |<< | >/|| | >>| | | | | | | |PrtSc |
-|------+------+------+------+------+------+------+------+------+------+------+------|
-| LSOB | | | | | | | | | | |ScrLk |
-|------+------+------+------+------+------+------+------+------+------+------+------|
-| Ctrl | LGUI | Alt | | Space/Lower | Enter/Raise | Fn | Mouse| |PsBrk |
-'-----------------------------------------------------------------------------------'
-```
-The *FUNCTION* layer contains media keys as well as the F-row. This layer is momentary and requires Fn to be held.
-
-* The media cluster is based on the nav cluster in the *LOWER* layer, with RW, PP & FF in the Left, Down & Right positions.
-* Mute, and Vol +/- are next to each other in ascending (L->R) volume order, Stop is below Mute.
-* Insert, Print Screen, Scroll Lock & Pause Break are all implemented on the far right column. I don't really use these keys so their position is not optimised.
-* Caps lock is implemented on this layer, in the traditional position, in place of BackSpace on the Base layer.
-
-### MOUSE - Mouse keys: The functionality of this layer is not as optimal as using a true mouse, generally slower but will work in a pinch.
-```
-,---------------------------------------------------------------------------------.
-| Tab | WhlU | WhlL | MsUp | WhlR | | | M3 | M4 | M5 | | |
-|------+------+------+------+------+-----+-----+------+------+------+------+------|
-| | WhlD | MsL | MsDn | MsR | | |LClick|RClick| | | |
-|------+------+------+------+------+-----+-----+------+------+------+------+------|
-| LSPO | | | | | | | | | | | RSCB |
-|------+------+------+------+------+-----+-----+------+------+------+------+------|
-| Ctrl | | | |Sensitivity | Sensitivity| |MOUSE | | Ctrl |
-'---------------------------------------------------------------------------------'
-```
-The *MOUSE* layer contains keys replicating functions found on the mouse.
-
-* The navigation cluster (Up, Down, Left, Right) is a replication of the Navigation cluster on the *LOWER* layer. The scroll keys are nalagous to the Page Up & Down
-keys.
-*) The primary click (right & left) buttons are on the right home row (index & middle fingers)
-* Secondary click buttons are above the standard keys (M3/Wheel click, M4, M5) but I do not use this function.
-
-### ADJUST - Keyboard Settings: Primarily used to change the base layer at this stage
-```
-,----------------------------------------------------------------------------------.
-| | | | | |RESET | |TermOn|TermOf| | | Del |
-|------+------+------+------+------+------+-----+------+------+------+------+------|
-| | | | | | | |Qwerty|Colemk|Dvorak| | |
-|------+------+------+------+------+------+-----+------+------+------+------+------|
-| | | | | | | | | | | | |
-|------+------+------+------+------+------+-----+------+------+------+------+------|
-| | |/LOWER| | | | | |/RAISE| |
-`----------------------------------------------------------------------------------'
-```
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/rules.mk b/keyboards/handwired/terminus_mini/keymaps/default/rules.mk
deleted file mode 100644
index 42ab51f150..0000000000
--- a/keyboards/handwired/terminus_mini/keymaps/default/rules.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-# 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 # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = no # Enable Tap Dance
diff --git a/keyboards/handwired/terminus_mini/readme.md b/keyboards/handwired/terminus_mini/readme.md
deleted file mode 100644
index a5fc8eee61..0000000000
--- a/keyboards/handwired/terminus_mini/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# terminus_mini handwired
-
-Custom handwired keyboard inspired by the UniKeyboard Terminus Mini 2.
-
-Keyboard Maintainer: [James Morgan](https://github.com/mogranjm)
-Hardware Supported: Custom handwired keyboard
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/terminus_mini: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/terminus_mini/rules.mk b/keyboards/handwired/terminus_mini/rules.mk
deleted file mode 100644
index 9ecba25d80..0000000000
--- a/keyboards/handwired/terminus_mini/rules.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-# MCU name
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-TAP_DANCE_ENABLE = no # Enable tap dance
diff --git a/keyboards/handwired/terminus_mini/terminus_mini.c b/keyboards/handwired/terminus_mini/terminus_mini.c
deleted file mode 100644
index 58edca7687..0000000000
--- a/keyboards/handwired/terminus_mini/terminus_mini.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2017 James Morgan <ja.morgan1@outlook.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "terminus_mini.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
diff --git a/keyboards/handwired/terminus_mini/terminus_mini.h b/keyboards/handwired/terminus_mini/terminus_mini.h
deleted file mode 100644
index 27fb450981..0000000000
--- a/keyboards/handwired/terminus_mini/terminus_mini.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2017 James Morgan <ja.morgan1@outlook.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef TERMINUS_MINI_H
-#define TERMINUS_MINI_H
-
-#include "quantum.h"
-
-// This a shortcut to help you visually see your layout.
-// The following is an example using the Terminus Mini layout
-// The first section contains all of the arguments
-// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, 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, KC_NO, k35, KC_NO, k37, k38, k39, k3a, k3b } \
-}
-
-#define KC_ KC_TRNS
-
-#endif \ No newline at end of file
diff --git a/keyboards/handwired/trackpoint/config.h b/keyboards/handwired/trackpoint/config.h
deleted file mode 100644
index cecb6a5094..0000000000
--- a/keyboards/handwired/trackpoint/config.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-#define VENDOR_ID 0x1234
-#define PRODUCT_ID 0x5678
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT TRACKPOINT-DEMO
-#define DESCRIPTION Simple demonstration for IBM Trackpoint integration
-
-#define MATRIX_ROWS 1
-#define MATRIX_COLS 3
-
-#ifdef PS2_USE_USART
- #define PS2_CLOCK_PORT PORTD
- #define PS2_CLOCK_PIN PIND
- #define PS2_CLOCK_DDR DDRD
- #define PS2_CLOCK_BIT 5
- #define PS2_DATA_PORT PORTD
- #define PS2_DATA_PIN PIND
- #define PS2_DATA_DDR DDRD
- #define PS2_DATA_BIT 2
-
- /* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
- /* set DDR of CLOCK as input to be slave */
- #define PS2_USART_INIT() do { \
- PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
- PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
- UCSR1C = ((1 << UMSEL10) | \
- (3 << UPM10) | \
- (0 << USBS1) | \
- (3 << UCSZ10) | \
- (0 << UCPOL1)); \
- UCSR1A = 0; \
- UBRR1H = 0; \
- UBRR1L = 0; \
- } while (0)
- #define PS2_USART_RX_INT_ON() do { \
- UCSR1B = ((1 << RXCIE1) | \
- (1 << RXEN1)); \
- } while (0)
- #define PS2_USART_RX_POLL_ON() do { \
- UCSR1B = (1 << RXEN1); \
- } while (0)
- #define PS2_USART_OFF() do { \
- UCSR1C = 0; \
- UCSR1B &= ~((1 << RXEN1) | \
- (1 << TXEN1)); \
- } while (0)
- #define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
- #define PS2_USART_RX_DATA UDR1
- #define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
- #define PS2_USART_RX_VECT USART1_RX_vect
-#endif
-
-#define MATRIX_COL_PINS { F1, F4, F5 }
-#define MATRIX_ROW_PINS { F0 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-#define DEBOUNCING_DELAY 5
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/handwired/trackpoint/keymaps/default/keymap.c b/keyboards/handwired/trackpoint/keymaps/default/keymap.c
deleted file mode 100644
index 60da300924..0000000000
--- a/keyboards/handwired/trackpoint/keymaps/default/keymap.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_BTN1, KC_BTN3, KC_BTN2 \
- )
-};
diff --git a/keyboards/handwired/trackpoint/readme.md b/keyboards/handwired/trackpoint/readme.md
deleted file mode 100644
index e1302fbb7f..0000000000
--- a/keyboards/handwired/trackpoint/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# IBM Trackpoint demonstration
-
-This is just a simple demo to show how to integrate IBM Trackpoint in QMK.
-
-Wiring used in the demonstration:
-![Wiring example](https://i.imgur.com/8ghG2U8.png)
-
-Some documentation:
-
-- [How to wire IBM Trackpoint](https://github.com/alonswartz/trackpoint)
-
-Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
-Hardware Supported: Teensy
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/trackpoint: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/trackpoint/rules.mk b/keyboards/handwired/trackpoint/rules.mk
deleted file mode 100644
index 47dace8a22..0000000000
--- a/keyboards/handwired/trackpoint/rules.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-
-PS2_MOUSE_ENABLE = yes
-PS2_USE_USART = yes
-
diff --git a/keyboards/handwired/trackpoint/trackpoint.c b/keyboards/handwired/trackpoint/trackpoint.c
deleted file mode 100644
index 124995a642..0000000000
--- a/keyboards/handwired/trackpoint/trackpoint.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "trackpoint.h"
-
-void matrix_init_kb(void) {
-
-}
diff --git a/keyboards/handwired/trackpoint/trackpoint.h b/keyboards/handwired/trackpoint/trackpoint.h
deleted file mode 100644
index a26000d521..0000000000
--- a/keyboards/handwired/trackpoint/trackpoint.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
- k00, k01, k02 \
-) \
-{ \
- { k00, k01, k02} \
-}
diff --git a/keyboards/handwired/tradestation/config.h b/keyboards/handwired/tradestation/config.h
deleted file mode 100644
index 22650d2f1a..0000000000
--- a/keyboards/handwired/tradestation/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Flehrad
-#define PRODUCT Trade Station
- #define DESCRIPTION A Pro Micro-powered macropad layout by Didier Luximon. 1/8U gap space top two rows and 1/4U gap between 2U bottom two rows.
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 4
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D1, C6, D4, D0 }
-#define MATRIX_COL_PINS { F7, B1, D7, E6 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 3
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 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
-
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
- #define RGBLED_NUM 5
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
diff --git a/keyboards/handwired/tradestation/info.json b/keyboards/handwired/tradestation/info.json
deleted file mode 100644
index e59c217cb7..0000000000
--- a/keyboards/handwired/tradestation/info.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "keyboard_name": "Tradestation",
- "url": "",
- "maintainer": "Flehrad",
- "width": 4.375,
- "height": 4.375,
- "layouts": {
- "LAYOUT_tradestation": {
- "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25, "w":2},{"x":2.25, "y":2.25, "w":2},{"x":0, "y":3.5, "w":2},{"x":2.25, "y":3.5, "w":2}]
- },
- "LAYOUT_ortho_4x4": {
- "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25},{"x":1.125, "y":2.25},{"x":2.25, "y":2.25},{"x":3.375, "y":2.25},{"x":0, "y":3.5},{"x":1.125, "y":3.5},{"x":2.25, "y":3.5},{"x":3.375, "y":3.5}]
- }
- }
-}
diff --git a/keyboards/handwired/tradestation/keymaps/default/keymap.c b/keyboards/handwired/tradestation/keymaps/default/keymap.c
deleted file mode 100644
index 3497dcb941..0000000000
--- a/keyboards/handwired/tradestation/keymaps/default/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- LAYOUT_tradestation(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS),
-};
-
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
- if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_COMPOSE)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_KANA)) {
-
- } else {
-
- }
-
-}
diff --git a/keyboards/handwired/tradestation/license b/keyboards/handwired/tradestation/license
deleted file mode 100644
index 261eeb9e9f..0000000000
--- a/keyboards/handwired/tradestation/license
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/keyboards/handwired/tradestation/readme.md b/keyboards/handwired/tradestation/readme.md
deleted file mode 100644
index 3a8c39e263..0000000000
--- a/keyboards/handwired/tradestation/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Tradestation
-
-[Image Gallery](https://imgur.com/a/yxQJXMT)
-
-A 4x4 ortholinear macropad, with options for 2U keys on the bottom half. Can be built as single PCB with custom case, or as two-PCB style with standoffs. Requires a Pro Micro.
-
-This PCB supports an overall 4x4 matrix with unique spacing.
-
-* Top two rows are 1U keys with 1/8U spacing
-* Bottom two rows are available with 4x2 1U as clusters of 2x1U or as 2x2 2U, spaced with 1/4U
-
-If you like this simple PCB and want to make a donation, you can do so at [paypal.me/theboardpodcast](https://paypal.me/theboardpodcast).
-
-- [The Board Podcast on YouTube](https://www.youtube.com/channel/UCg98oJZNffR9nDLJNkorjqw)
-- [The Board Podcast on Libsyn](http://theboard.libsyn.com/)
-- [The Board Podcast on Patreon](https://www.patreon.com/theboardpodcast)
-
-Designed by Didier Luximon.
-
-Keyboard Maintainer: [flehrad](https://github.com/flehrad)
-Hardware Supported: Tradestation PCB, Pro Micro
-
-Make example for this keyboard (after setting up your build environment):
-
- make tradestation: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/tradestation/rules.mk b/keyboards/handwired/tradestation/rules.mk
deleted file mode 100644
index 649b63babf..0000000000
--- a/keyboards/handwired/tradestation/rules.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# atmega32a bootloadHID
-BOOTLOADER = caterina
-
-# Boot Section Size in *bytes*
-# OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
-
-LAYOUTS = ortho_4x4
diff --git a/keyboards/handwired/tradestation/tradestation.c b/keyboards/handwired/tradestation/tradestation.c
deleted file mode 100644
index a3285a2cc8..0000000000
--- a/keyboards/handwired/tradestation/tradestation.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "tradestation.h"
diff --git a/keyboards/handwired/tradestation/tradestation.h b/keyboards/handwired/tradestation/tradestation.h
deleted file mode 100644
index 60b53b7ddf..0000000000
--- a/keyboards/handwired/tradestation/tradestation.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT_ortho_4x4( \
- K00, K01, K02, K03, \
- K10, K11, K12, K13, \
- K20, K21, K22, K23, \
- K30, K31, K32, K33 \
-) { \
- { K00, K01, K02, K03 }, \
- { K10, K11, K12, K13 }, \
- { K20, K21, K22, K23 }, \
- { K30, K31, K32, K33 } \
-}
-
-#define LAYOUT_tradestation( \
- K00, K01, K02, K03, \
- K10, K11, K12, K13, \
- K20, K22, \
- K30, K32 \
-) { \
- { K00, K01, K02, K03 }, \
- { K10, K11, K12, K13 }, \
- { K20, KC_NO, K22, KC_NO }, \
- { K30, KC_NO, K32, KC_NO } \
-}
diff --git a/keyboards/handwired/traveller/config.h b/keyboards/handwired/traveller/config.h
deleted file mode 100644
index ccf214736d..0000000000
--- a/keyboards/handwired/traveller/config.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER You
-#define PRODUCT traveller
-#define DESCRIPTION A custom keyboard
-
-/* 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 { D0, D1, D3, D2 }
- // no I can't say why this order seemed like a good idea
-#define MATRIX_COL_PINS { B5, D6, B7, B6, F6, B1, B3, F7, B4, E6, D7, C6, D4 }
-#define UNUSED_PINS
-
-// LED stuff
-#define RGB_DI_PIN B2
-//#define RBLIGHT_TIMER
-#define RGBLED_NUM 1 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c
deleted file mode 100644
index 44f65f4b81..0000000000
--- a/keyboards/handwired/traveller/keymaps/default/keymap.c
+++ /dev/null
@@ -1,272 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "mousekey.h"
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-#define _QW 0
-#define _LW 1
-#define _HI 2
-#define _NAV 4
-#define _CUR 5
-#define _FKEYS 6
-#define _TRNS 8
-
-// We do the same trick for functions
-#define RGBLED_TOGGLE 10
-#define _HIOUT 15
-#define _LWOUT 16
-// Macros
-#define MDL 4
-#define MDR 5
-#define MUR 6
-#define MUL 3
-
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
- * ,-----------------------------------------. .-----------------------------------------.
- * | NAV | ` ~ | W | E | R | T | | Y | U | I | O | - | = |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | S | D | F | G | | H | J | K | L | P | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- *|ctrl/esc| A | X | C | V | B |Ctrl /| N | M | , | . | ; | ' |
- * |------+------+------+------+------+------+ // +------+------+------+------+------+------|
- * | Shift| Z | Del | GUI | Low | Bspc |/Enter| Spc | Hi | GUI | Alt | / |Shift |
- * `------------------------------------------------------------------------------------------'
- *
- */
-[_QW] = KEYMAP(
- TG(_NAV), KC_GRV, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_MINS, KC_EQL,
- KC_TAB, KC_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_P, KC_BSLS,
- CTL_T(KC_ESC), KC_A, KC_X, KC_C, KC_V, KC_B, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_DEL, KC_LGUI, MO(_LW), KC_BSPC, KC_ENTER, KC_SPC, MO(_HI), KC_RGUI, KC_RALT, KC_SLSH, KC_RSFT
- ),
-
-/* LOW - numbers, missing or awkward programming keys
- Doubled 1 key allows lazy reach with ring finger.
- * ,-----------------------------------------. .-----------------------------------------.
- * | FKeys| 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |Ctrl-alt-del|
- * |------+------+------+------+------+------| +------+------+------+------+------+------|
- * | Tab | 1 | ] | ( | ) | | | * | ( | ) | [ | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | Caps | [ | | { | } | ` | /| # | { | } | | ] | |
- * |------+------+------+------+------+------+ // +------+------+------+------+------+------|
- * | Shift| | | | Low | |/ | | Hi | | | |Shift |
- * `------------------------------------------------------------------------------------------'
- *
- */
-
-[_LW] = KEYMAP(
- TG(_FKEYS), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LCTL(LALT(KC_DEL)) ,
- KC_TRNS, KC_1, KC_RBRC, KC_LPRN, KC_RPRN, KC_NO, KC_ASTR, KC_LPRN, KC_RPRN, KC_LBRC, KC_NO, KC_NO,
- KC_CAPS, KC_LBRC, KC_NO, KC_LCBR, KC_RCBR, KC_TILD, KC_TRNS, KC_HASH, KC_LCBR, KC_RCBR, KC_NO, KC_RBRC, KC_NO,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-
-/* HI - Punctuation, shell and
-url ://@.com row on bottom, && is opposite || ^$ are in regex order: ^.*$
-Right hand nav keys work pretty well chorded with the Right hand Hi Key
- * ,-----------------------------------------. .-----------------------------------------.
- * |FKEYS | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | ! | & | "|" | $ | % | | Vol+| Mute| | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | CAPS | ^ | : | . | * | - | /| Vol-| Play | PgUp | Home | Up | End |
- * |------+------+------+------+------+------+ // +------+------+------+------+------+------|
- * | | / | | | Low | |/ | | Hi | PgDn | Left| Down | Right |
- * `------------------------------------------------------------------------------------------'
- *
- */
-
-[_HI] = KEYMAP(
- TG(_FKEYS),KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
- KC_TRNS, KC_EXLM, KC_AMPR, KC_PIPE, KC_DLR, KC_PERC, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_CAPS, KC_CIRC, KC_COLN, KC_DOT, KC_ASTR, KC_MINS, KC_TRNS, KC_VOLD, KC_PPLS, KC_PGUP, KC_HOME, KC_UP, KC_END,
- KC_TRNS, KC_SLSH, KC_TRNS, KC_TRNS, TT(_LW), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT
-),
-
-/* NAV - mouse & navigation
-//gui left and right are line home/end, or fore & back in browser
-// Mouse buttons are reversed for comfort - bigger stretch is to the right button.
-
- * ,-----------------------------------------. .-----------------------------------------.
-* | NAV | | | Up | |Gui-> | | MwU | MS_UL| MS_U |MS_UR | |Ms Norm|
-* |------+------+------+------+------+------| |------+------+------+------+------+--------|
-* | |Gui<- | Left | Down |Right | C^E | | BTN3 | MS_L |MS Up | MS_R | |Ms Fast |
-* |------+------+------+------+------+------|------|------+------+------+------+------+--------|
-* | | C^A | GUI X| GUI C| GUI_V| |Enter/| MWD | M_DL |MS Dwn|MS_DR | Up |Ms Slow |
-* |------+------+------+------+------+------+ // +------+------+------+------+------+------|
-* | | GuiZ | | | Low | |/ButnR|ButnL | Hi | | Left | Down | Right |
-* `------------------------------------------------------------------------------------------'
-*/
-
-[_NAV] = KEYMAP(
- TG(_NAV), KC_NO, KC_NO, KC_UP, KC_NO, RGUI(KC_RIGHT), KC_WH_U, M(MUL), KC_MS_U, M(MUR), KC_NO, KC_ACL2,
- KC_TRNS, RGUI(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_E), KC_BTN3, KC_MS_L, KC_MS_U, KC_MS_R, KC_NO, KC_ACL1,
- KC_TRNS, LCTL(KC_A), LGUI(KC_X),RGUI(KC_C), RGUI(KC_V),KC_NO, KC_ENTER, KC_WH_D, M(MDL), KC_MS_D, M(MDR), KC_UP, KC_ACL0,
- KC_TRNS, RGUI(KC_Z), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT
-),
-
-/* FKEYS - Funtion keys & mac stuff
- * ,-----------------------------------------. .-----------------------------------------.
- * | FKEYS| F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | Ctrl |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | F11 | F12 | F13 | F14 | F15 | Alt |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * |Qwerty| | | | | | /| | | | | | Del |
- * |------+------+------+------+------+------+ // +------+------+------+------+------+------|
- * | . |RGBTog| . | | LO | Bspc |/ | | HI | | | | |
- * `------------------------------------------------------------------------------------------'
- *
- */
-
-[_FKEYS] = KEYMAP(
- TG(_FKEYS),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_RCTL,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LALT ,
- TO(_QW), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
- KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-
-
-/* TRNS - skeleton for laters
- * ,-----------------------------------------. .-----------------------------------------.
- * | . | . | . | . | . | . | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | . | . | . | . | . | . | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------|------+------+------+------+------+------+------|
- * | . | . | . | . | . | . | /| | | | . | ; | " |
- * |------+------+------+------+------+------+ // +------+------+------+------+------+------|
- * | . | . | . | GUI | LO | . |/ | Spc | HI | GUI | M0 | / |LSFT |
- * `------------------------------------------------------------------------------------------'
- *
- */
-
-[_TRNS] = {
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS},
- {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}
- }
-
-
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case 0:
- if (record->event.pressed) {
- register_code(KC_RSFT);
- #ifdef BACKLIGHT_ENABLE
- backlight_step();
- #endif
- } else {
- unregister_code(KC_RSFT);
- }
- break;
-
- // from algernon's ErgoDox EZ layout,
- case MUL:
- if (record->event.pressed) {
- mousekey_on(KC_MS_UP);
- mousekey_on(KC_MS_LEFT);
- } else {
- mousekey_off(KC_MS_UP);
- mousekey_off(KC_MS_LEFT);
- }
- mousekey_send();
- break;
-
- case MUR:
- if (record->event.pressed) {
- mousekey_on(KC_MS_UP);
- mousekey_on(KC_MS_RIGHT);
- } else {
- mousekey_off(KC_MS_UP);
- mousekey_off(KC_MS_RIGHT);
- }
- mousekey_send();
- break;
-
- case MDL:
- if (record->event.pressed) {
- mousekey_on(KC_MS_DOWN);
- mousekey_on(KC_MS_LEFT);
- } else {
- mousekey_off(KC_MS_DOWN);
- mousekey_off(KC_MS_LEFT);
- }
- mousekey_send();
- break;
-
- case MDR:
- if (record->event.pressed) {
- mousekey_on(KC_MS_DOWN);
- mousekey_on(KC_MS_RIGHT);
- } else {
- mousekey_off(KC_MS_DOWN);
- mousekey_off(KC_MS_RIGHT);
- }
- mousekey_send();
- break;
-
-
- }
- return MACRO_NONE;
-};
-
-void LayerLEDSet(uint8_t layr) {
-
- switch (layr) {
- case _QW:
- rgblight_setrgb(0,20, 0); // dim green
- break;
- case _LW:
- // deep purple
- rgblight_setrgb(20,0,35);
- break;
- case _HI:
- // light blue
- rgblight_setrgb(0,20,20);
- break;
- case _NAV:
- // Yellowy orange
- rgblight_setrgb(25,20,0); // brighter
- break;
- case _FKEYS:
- // RED
- rgblight_setrgb(20,0,0); // brighter
- break;
- default:
- rgblight_setrgb(20,2,20);//error
- break;
- }
-
- return;
-
-}
-
-void matrix_init_user(void) {
-}
-
-// Bleah globals need to be initialized.
-uint8_t old_layer=_QW;
-
-void matrix_scan_user(void) {
- uint8_t layer = biton32(layer_state);
- if (old_layer != layer) {
- LayerLEDSet(layer);
- old_layer=layer;
- }
-}
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/traveller/keymaps/default/readme.md b/keyboards/handwired/traveller/keymaps/default/readme.md
deleted file mode 100644
index 7ddc40b3c3..0000000000
--- a/keyboards/handwired/traveller/keymaps/default/readme.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# The default keymap for handwired/traveller
-this is a kitchen sink build
diff --git a/keyboards/handwired/traveller/readme.md b/keyboards/handwired/traveller/readme.md
deleted file mode 100644
index 0be53a9628..0000000000
--- a/keyboards/handwired/traveller/readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-traveler keyboard firmware
-======================
-
-## Traveller Specific Info ##
-The traveller is a varient on the atreus keyboard.
-Like the Atreus, it is designed to be a good compromise between size and ergonomics.
-
-key differences are
-- an additional column for each pinky
-- an RGB LED in the center to show the current layer
-- more finger stagger, splay angle and contoured keycaps (F2 profile for space key).
-
-You can make your own traveller keyboard by using the openscad tools from the atreus repository, and adding a hole for the LED to shine through.
-
-## Quantum MK Firmware
-
-For the full Quantum feature list, see [the parent README.md](/readme.md).
-
-## Building
-
-Download or clone the whole firmware and navigate to the keyboard/traveler folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
-
-Depending on which keymap you would like to use, you will have to compile slightly differently.
-
-### Default
-To build with the default keymap, simply run `make`.
-
-### Other Keymaps
-Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top README.md) and existent keymap files.
-
-To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like:
-```
-$ make KEYMAP=[default|jack|<name>]
-```
-Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/handwired/traveller/rules.mk b/keyboards/handwired/traveller/rules.mk
deleted file mode 100644
index 8568def354..0000000000
--- a/keyboards/handwired/traveller/rules.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-
-#MCU = at90usb1287
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-# for avr upload
-USB = /dev/cu.usbmodem1421
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-ifdef TEENSY2
- BOOTLOADER = halfkay
- OPT_DEFS += -DATREUS_TEENSY2
- ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex
-else
- BOOTLOADER = caterina
- OPT_DEFS += -DATREUS_ASTAR
- ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
- avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
-endif
-
-
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# MCU name
-
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096
-# LUFA bootloader 4096
-# USBaspLoader 2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-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 on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-RGBLIGHT_ENABLE = yes
-
diff --git a/keyboards/handwired/traveller/traveller.c b/keyboards/handwired/traveller/traveller.c
deleted file mode 100644
index 9d25341300..0000000000
--- a/keyboards/handwired/traveller/traveller.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "traveller.h"
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
- // leave this function blank - it can be defined in a keymap file
-};
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
- // leave this function blank - it can be defined in a keymap file
-}
-
-__attribute__ ((weak))
-void process_action_user(keyrecord_t *record) {
- // leave this function blank - it can be defined in a keymap file
-}
-
-__attribute__ ((weak))
-void led_set_user(uint8_t usb_led) {
- // leave this function blank - it can be defined in a keymap file
-}
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
-#ifdef RGBLIGHT_ENABLE
- rgblight_init();
- rgblight_mode(1); // solid, no timer
- rgblight_setrgb(0,20,0);// dim green, happens to be same as _QW
-#endif
-
-// Turn status LED on
- DDRC |= (1<<7);
- PORTC |= (1<<7);
-
- matrix_init_user();
-}
-
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
-
-
diff --git a/keyboards/handwired/traveller/traveller.h b/keyboards/handwired/traveller/traveller.h
deleted file mode 100644
index 972a1a94a6..0000000000
--- a/keyboards/handwired/traveller/traveller.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef TRAVELLER_H
-#define TRAVELLER_H
-
-#include "quantum.h"
-#include "led.h"
-
-#ifdef RGBLIGHT_ENABLE
- #include "rgblight.h"
-#endif
-#ifdef BACKLIGHT_ENABLE
- #include "backlight.h"
-#endif
-
-
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguements
-// The second converts the arguments into a two-dimensional array
-#define KEYMAP( \
- k00, k01, k02, k03, k04, k05, k07, k08, k09, k0a, k0b, k0c, \
- k10, k11, k12, k13, k14, k15, k17, k18, k19, k1a, k1b, k1c, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c \
-) \
-{ \
- { k00, k01, k02, k03, k04, k05, KC_NO, k07, k08, k09, k0a, k0b, k0c }, \
- { k10, k11, k12, k13, k14, k15, KC_NO, k17, k18, k19, k1a, k1b, k1c }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c } \
-}
-
-#endif
diff --git a/keyboards/handwired/woodpad/config.h b/keyboards/handwired/woodpad/config.h
deleted file mode 100644
index 77be4a0d9f..0000000000
--- a/keyboards/handwired/woodpad/config.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-Copyright 2017 REPLACE_WITH_YOUR_NAME
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6069
-#define DEVICE_VER 0x0001
-#define MANUFACTURER WoodKeys.click
-#define PRODUCT woodpad
-#define DESCRIPTION Basic numpad
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
-#define MATRIX_COL_PINS { B1, B3, B2, B6 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCING_DELAY 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-/*
- * MIDI options
- */
-
-/* Prevent use of disabled MIDI features in the keymap */
-//#define MIDI_ENABLE_STRICT 1
-
-/* enable basic MIDI features:
- - MIDI notes can be sent when in Music mode is on
-*/
-//#define MIDI_BASIC
-
-/* enable advanced MIDI features:
- - MIDI notes can be added to the keymap
- - Octave shift and transpose
- - Virtual sustain, portamento, and modulation wheel
- - etc.
-*/
-//#define MIDI_ADVANCED
-
-/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
-//#define MIDI_TONE_KEYCODE_OCTAVES 1
-
-#endif
diff --git a/keyboards/handwired/woodpad/keymaps/default/config.h b/keyboards/handwired/woodpad/keymaps/default/config.h
deleted file mode 100644
index a72596783d..0000000000
--- a/keyboards/handwired/woodpad/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/woodpad/keymaps/default/keymap.c b/keyboards/handwired/woodpad/keymaps/default/keymap.c
deleted file mode 100644
index 838c14ead5..0000000000
--- a/keyboards/handwired/woodpad/keymaps/default/keymap.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _NUMLOCK 0
-#define _NAV 1
-#define _ALT 2
-#define _ADJUST 3
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_NUMLOCK] = KEYMAP( /* Base */
- KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,\
- KC_P7, KC_P8, KC_P9, KC_PPLS, \
- KC_P4, KC_P5, KC_P6, KC_PEQL, \
- KC_P1, KC_P2, KC_P3, KC_COMM, \
- KC_LALT, KC_P0, KC_PDOT, KC_PENT \
-),
-[_NAV] = KEYMAP( /* Base */
- _______, _______, _______, _______,\
- KC_HOME, KC_UP, KC_PGUP, _______, \
- KC_LEFT, XXXXXXX, KC_RIGHT, _______, \
- KC_END, KC_DOWN, KC_PGDN, _______, \
- _______, KC_INS, KC_DEL, _______ \
-),
-[_ALT] = KEYMAP( /* Base */
- _______, KC_MUTE, KC_VOLD, KC_VOLU,\
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______ \
-),
-[_ADJUST] = KEYMAP( /* Base */
- _______, KC_A, _______, RESET,\
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______, \
- _______, _______, _______, _______ \
-),
-};
-
-void numlock_led_on(void) {
- PORTF |= (1<<7);
-}
-
-void numlock_led_off(void) {
- PORTF &= ~(1<<7);
-}
-
-static bool numlock_down = false;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_NLCK:
- if (record->event.pressed) {
- numlock_down = true;
- if (IS_LAYER_ON(_ALT)) {
- layer_on(_ADJUST);
- }
- } else{
- if(!IS_LAYER_ON(_ADJUST)) {
- if (!IS_LAYER_ON(_NAV)){
- numlock_led_off();
- layer_on(_NAV);
- } else {
- numlock_led_on();
- layer_off(_NAV);
- }
- } else {
- layer_off(_ADJUST);
- }
- numlock_down = false;
- }
- return false;
- break;
- case KC_LALT:
- if (record->event.pressed) {
- if (numlock_down) {
- layer_on(_ADJUST);
- } else {
- layer_on(_ALT);
- }
- } else {
- if(IS_LAYER_ON(_ADJUST)) {
- layer_off(_ADJUST);
- } else {
- layer_off(_ALT);
- }
- }
- // Allow normal processing of ALT?
- return false;
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
- // set Numlock LED to output and low
- DDRF |= (1<<7);
- PORTF &= ~(1<<7);
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/handwired/woodpad/keymaps/default/readme.md b/keyboards/handwired/woodpad/keymaps/default/readme.md
deleted file mode 100644
index 5f17409787..0000000000
--- a/keyboards/handwired/woodpad/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for woodpad
diff --git a/keyboards/handwired/woodpad/keymaps/default/rules.mk b/keyboards/handwired/woodpad/keymaps/default/rules.mk
deleted file mode 100644
index fce19bfaa8..0000000000
--- a/keyboards/handwired/woodpad/keymaps/default/rules.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-# 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
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/README.md b/keyboards/handwired/woodpad/keymaps/drashna/README.md
deleted file mode 100644
index f24d2c48f6..0000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
-Overview
-========
-
-This is my personal Numpad (Woodpad) configuration, and my daily driver.
-
-Most of the code resides in my userspace, rather than here, as I have multiple keyboards.
-
-How to build
-------------
-make handwired/woodpad:drashna:avrdude
-
-Layers
-------
-* NUMLOCK: Num pad, locked to NUM LOCK enabled.
-* NAV: Navigation codes without needing to enable numlock.
-* DIABLO: This contains a Diablo 3 layout, that requires much less reaching or shifting. If Tap Dance is enabled, then it has a "spam" feature. See Userspace for details.
-* MACROS: This layer contains a bunch of macros for spamming chat, with a toggle on what key to open up chat with.
-* MEDIA: Media and RGB commands
-
-All layers have RGB specific indicators, so you can see what layer you're on by the underglow.
-
-Woodpad Specific Code
----------------------
-
-Aside from my userspace code, this includes LED indications for numlock and macro mode. It also forces NUMLOCK to be enabled.
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/config.h b/keyboards/handwired/woodpad/keymaps/drashna/config.h
deleted file mode 100644
index c4f28034c8..0000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include QMK_KEYBOARD_CONFIG_H
-
-#if (defined(TAP_DANCE_ENABLE) && !defined(TAPPING_TERM))
-#define TAPPING_TERM 200
-#endif // TAP_DANCE_ENABLE
-
-
-#define B5_AUDIO
-
-
-#ifdef RGBLIGHT_ENABLE
-#define RGB_DI_PIN D3
-#define RGBLED_NUM 14 // Number of LEDs
-#define RGBLIGHT_ANIMATIONS
-#define RGBLIGHT_HUE_STEP 12
-#define RGBLIGHT_SAT_STEP 12
-#define RGBLIGHT_VAL_STEP 12
-#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 4
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
-#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
-#define RGBLIGHT_SLEEP
-#endif // RGBLIGHT_ENABLE
-
-#define FORCE_NKRO
-
-#endif
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c b/keyboards/handwired/woodpad/keymaps/drashna/keymap.c
deleted file mode 100644
index 20b4e064eb..0000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/keymap.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-#include "drashna.h"
-
- // Each layer gets a name for readability, which is then used in the keymap matrix below.
- // The underscores don't mean anything - you can have a layer called STUFF or any other name.
- // Layer names don't all need to be of the same length, obviously, and you can also skip them
- // entirely and just use numbers.
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_NUMLOCK] = KEYMAP( /* Base */
- TG(_NAV), TG(_DIABLO), TG(_MACROS), KC_PSLS,\
- KC_P7, KC_P8, KC_P9, KC_PAST, \
- KC_P4, KC_P5, KC_P6, KC_PMNS, \
- KC_P1, KC_P2, KC_P3, KC_PPLS, \
- LT(_MEDIA,KC_P0), KC_PDOT, KC_COLN, KC_PENT \
-),
-[_NAV] = KEYMAP( /* Base */
- _______, _______, _______, _______,\
- KC_HOME, KC_UP, KC_PGUP, _______, \
- KC_LEFT, XXXXXXX, KC_RIGHT, _______, \
- KC_END, KC_DOWN, KC_PGDN, _______, \
- KC_INS, KC_DEL, _______, _______ \
-),
-[_DIABLO] = KEYMAP( /* Base */
- KC_ESC, _______, XXXXXXX, _______,\
- KC_S, KC_I, KC_F, KC_M, \
- KC_1, KC_2, KC_3, KC_4, \
- KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, \
- XXXXXXX, KC_DIABLO_CLEAR, KC_Q, SFT_T(KC_SPACE) \
-),
-
-[_MACROS] = KEYMAP( /* Base */
- KC_OVERWATCH, XXXXXXX, _______, XXXXXXX,\
- KC_JUSTGAME, XXXXXXX, XXXXXXX, KC_C9, \
- XXXXXXX, XXXXXXX, KC_AIM, KC_GGEZ, \
- KC_SYMM, KC_TORB, XXXXXXX, KC_GOODGAME, \
- KC_SALT, KC_MORESALT, KC_SALTHARD, KC_GLHF \
-),
-[_MEDIA] = KEYMAP( /* Base */
- KC_RESET, KC_MUTE, KC_VOLD, KC_VOLU,\
- KC_MAKE, _______, RGB_HUI, RGB_HUD, \
- KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, \
- RGB_TOG, RGB_MOD, RGB_SAI, RGB_VAI, \
- _______, KC_RGB_T, RGB_SAD, RGB_VAD \
-),
-
-};
-
-
-void numlock_led_on(void) {
- PORTF |= (1 << 7);
-}
-
-void numlock_led_off(void) {
- PORTF &= ~(1 << 7);
-}
-
-
-
-void matrix_init_keymap(void) {
- // set Numlock LED to output and low
- DDRF |= (1 << 7);
- PORTF &= ~(1 << 7);
-}
-
-void matrix_scan_keymap(void) {
- numlock_led_off();
- if ((is_overwatch && biton32(layer_state) == _MACROS) || (biton32(layer_state) == _NUMLOCK)) {
- numlock_led_on();
- }
-
- // Run Diablo 3 macro checking code.
-}
-
-void led_set_keymap(uint8_t usb_led) {
- if (!(usb_led & (1<<USB_LED_NUM_LOCK))) {
- register_code(KC_NUMLOCK);
- unregister_code(KC_NUMLOCK);
- }
-}
diff --git a/keyboards/handwired/woodpad/keymaps/drashna/rules.mk b/keyboards/handwired/woodpad/keymaps/drashna/rules.mk
deleted file mode 100644
index 7f7f30e2ad..0000000000
--- a/keyboards/handwired/woodpad/keymaps/drashna/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-TAP_DANCE_ENABLE = yes
-COMMAND_ENABLE = no # Commands for debug and configuration
-RGBLIGHT_ENABLE = yes
-MIDI_ENABLE = no
-CONSOLE_ENABLE = no
-NKRO_ENABLE = yes
-MOUSEKEY_ENABLE = no
-
-EXTRAFLAGS = -flto
-
diff --git a/keyboards/handwired/woodpad/readme.md b/keyboards/handwired/woodpad/readme.md
deleted file mode 100644
index 2697398c96..0000000000
--- a/keyboards/handwired/woodpad/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-woodpad keyboard firmware
-======================
-
-## Quantum MK Firmware
-
-For the full Quantum feature list, see [the parent readme](/).
-
-## Building
-
-Download or clone the whole firmware and navigate to the keyboards/woodpad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
-
-Depending on which keymap you would like to use, you will have to compile slightly differently.
-
-### Default
-
-To build with the default keymap, simply run `make default`.
-
-### Other Keymaps
-
-Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files.
-
-To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
-
-```
-$ make [default|jack|<name>]
-```
-
-Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/handwired/woodpad/rules.mk b/keyboards/handwired/woodpad/rules.mk
deleted file mode 100644
index f8c488307f..0000000000
--- a/keyboards/handwired/woodpad/rules.mk
+++ /dev/null
@@ -1,78 +0,0 @@
-# MCU name
-#MCU = at90usb1286
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
-CONSOLE_ENABLE ?= yes # Console for debug(+400)
-COMMAND_ENABLE ?= yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE ?= no # USB Nkey Rollover
-BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE ?= no # MIDI support (+2400 to 4200, depending on config)
-UNICODE_ENABLE ?= no # Unicode
-BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE ?= no # Audio output on port C6
-FAUXCLICKY_ENABLE ?= no # Use buzzer to emulate clicky switches
-RGBLIGHT_ENABLE ?= no
-
-#avrdude: build
-# ls /dev/tty* > /tmp/1; \
-# echo "Reset your Pro Micro now"; \
-# while [ -z $$USB ]; do \
-# sleep 1; \
-# ls /dev/tty* > /tmp/2; \
-# USB=`diff /tmp/1 /tmp/2 | $(GREP) -o '/dev/tty.*'`; \
-# done; \
-# avrdude -p $(MCU) -c avr109 -P $$USB -U flash:w:$(BUILD_DIR)/$(TARGET).hex
-#
-#.PHONY: avrdude
diff --git a/keyboards/handwired/woodpad/woodpad.c b/keyboards/handwired/woodpad/woodpad.c
deleted file mode 100644
index 15a87f2eae..0000000000
--- a/keyboards/handwired/woodpad/woodpad.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "woodpad.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
diff --git a/keyboards/handwired/woodpad/woodpad.h b/keyboards/handwired/woodpad/woodpad.h
deleted file mode 100644
index 13ec0bfc28..0000000000
--- a/keyboards/handwired/woodpad/woodpad.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef WOODPAD_H
-#define WOODPAD_H
-
-#include "quantum.h"
-
-// This a shortcut to help you visually see your layout.
-// The following is an example using the Planck MIT layout
-// The first section contains all of the arguments
-// The second converts the arguments into a two-dimensional array
-#define KEYMAP( \
- k00, k01, k02, k03, \
- k10, k11, k12, k13, \
- k20, k21, k22, k23, \
- k30, k31, k32, k33, \
- k40, k41, k42, k43 \
-) \
-{ \
- { k00, k01, k02, k03 }, \
- { k10, k11, k12, k13 }, \
- { k20, k21, k22, k23 }, \
- { k30, k31, k32, k33 }, \
- { k40, k41, k42, k43 }, \
-}
-
-#endif
diff --git a/keyboards/handwired/xealous/config.h b/keyboards/handwired/xealous/config.h
deleted file mode 100644
index 7bce502c15..0000000000
--- a/keyboards/handwired/xealous/config.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-#include "config_common.h"
-
-/* Use I2C or Serial, not both */
-
-#define USE_I2C
-#define SCL_CLOCK 400000UL
-
-// #define USE_SERIAL
-/* serial.c configuration for split keyboard */
-// #define SOFT_SERIAL_PIN D0
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
-
-//#define DEBUG_MATRIX_SCAN_RATE //Use this to determine scan-rate.
-#define FORCE_NKRO
-
-#define QMK_KEYS_PER_SCAN 4 //if we press four keys simultaneously, lets process them simultaneously...
-#define DIODE_DIRECTION COL2ROW
-
-#ifdef AUDIO_ENABLE
- #define C6_AUDIO
- #define STARTUP_SONG SONG(STARTUP_SOUND)
- #define NO_MUSIC_MODE
- #define TONE_QWERTY SONG(Q__NOTE(_E4));
- #define TONE_NUMPAD SONG(Q__NOTE(_D4));
-#endif
-
diff --git a/keyboards/handwired/xealous/debounce.c b/keyboards/handwired/xealous/debounce.c
deleted file mode 100644
index 65a99f27f2..0000000000
--- a/keyboards/handwired/xealous/debounce.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <string.h>
-#include "config.h"
-#include "matrix.h"
-#include "timer.h"
-#include "quantum.h"
-
-#ifndef DEBOUNCING_DELAY
-# define DEBOUNCING_DELAY 5
-#endif
-
-//Debouncing counters
-typedef uint8_t debounce_counter_t;
-#define DEBOUNCE_COUNTER_MODULO 250
-#define DEBOUNCE_COUNTER_INACTIVE 251
-
-static debounce_counter_t *debounce_counters;
-
-void debounce_init(uint8_t num_rows)
-{
- debounce_counters = malloc(num_rows*MATRIX_COLS);
- memset(debounce_counters, DEBOUNCE_COUNTER_INACTIVE, num_rows*MATRIX_COLS);
-}
-
-void update_debounce_counters(uint8_t num_rows, uint8_t current_time)
-{
- for (uint8_t row = 0; row < num_rows; row++)
- {
- for (uint8_t col = 0; col < MATRIX_COLS; col++)
- {
- if (debounce_counters[row*MATRIX_COLS + col] != DEBOUNCE_COUNTER_INACTIVE)
- {
- if (TIMER_DIFF(current_time, debounce_counters[row*MATRIX_COLS + col], DEBOUNCE_COUNTER_MODULO) >= DEBOUNCING_DELAY) {
- debounce_counters[row*MATRIX_COLS + col] = DEBOUNCE_COUNTER_INACTIVE;
- }
- }
- }
- }
-}
-
-void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, uint8_t current_time)
-{
- for (uint8_t row = 0; row < num_rows; row++)
- {
- matrix_row_t delta = raw[row] ^ cooked[row];
-
- for (uint8_t col = 0; col < MATRIX_COLS; col++)
- {
- if (debounce_counters[row*MATRIX_COLS + col] == DEBOUNCE_COUNTER_INACTIVE && (delta & (1<<col)))
- {
- debounce_counters[row*MATRIX_COLS + col] = current_time;
- cooked[row] ^= (1 << col);
- }
- }
- }
-}
-
-void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed)
-{
- uint8_t current_time = timer_read() % DEBOUNCE_COUNTER_MODULO;
-
- update_debounce_counters(num_rows, current_time);
- transfer_matrix_values(raw, cooked, num_rows, current_time);
-} \ No newline at end of file
diff --git a/keyboards/handwired/xealous/info.json b/keyboards/handwired/xealous/info.json
deleted file mode 100644
index 6d7e30f449..0000000000
--- a/keyboards/handwired/xealous/info.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "keyboard_name": "Xealous",
- "url": "",
- "maintainer": "alex-ong",
- "width": 15,
- "height": 5,
- "layouts": {
- "LAYOUT_ANSI_DEFAULT": {
- "key_count": 64,
- "layout": [
- {"label":"Esc", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
-
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2.0},
-
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {
- "label": "R",
- "x": 4.5,
- "y": 1
- },
- {"label":"T", "x":5.5, "y":1},
-
- {"label":"Y", "x":6.5, "y":1},
- {"label":"U", "x":7.5, "y":1},
- {"label":"I", "x":8.5, "y":1},
- {"label":"O", "x":9.5, "y":1},
- {"label":"P", "x":10.5, "y":1},
- {"label":"[", "x":11.5, "y":1},
- {"label":"]", "x":12.5, "y":1},
- {"label":"\\", "x":13.5, "y":1, "w":1.5},
-
- {"label":"CapsLock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
-
- {"label":"H", "x":6.75, "y":2},
- {"label":"J", "x":7.75, "y":2},
- {"label":"K", "x":8.75, "y":2},
- {"label":"L", "x":9.75, "y":2},
- {"label":";", "x":10.75, "y":2},
- {"label":"'", "x":11.75, "y":2},
- {"label":"Enter", "x":12.75, "y":2, "w":2.25},
-
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.25, "y":3},
- {"label":"C", "x":4.25, "y":3},
- {"label":"V", "x":5.25, "y":3},
- {"label":"B", "x":6.25, "y":3},
-
- {"label":"N", "x":7.25, "y":3},
- {"label":"M", "x":8.25, "y":3},
- {"label":",", "x":9.25, "y":3},
- {"label":".", "x":10.25, "y":3},
- {"label":"/", "x":11.25, "y":3},
- {"label":"Shift", "x":12.25, "y":3, "w":2.75},
-
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"Win", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"x":3.75, "y":4, "w":2.75},
- {"x":6.5, "y":4, "w":1.25},
-
- {"x":7.75, "y":4, "w":1.25},
- {"x":9, "y":4, "w":2.0},
- {"label":"Alt", "x":11, "y":4},
- {"label":"Win", "x":12, "y":4},
- {"label":"Menu", "x":13, "y":4},
- {"label":"Ctrl", "x":14, "y":4}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/xealous/keymaps/default/keymap.c b/keyboards/handwired/xealous/keymaps/default/keymap.c
deleted file mode 100644
index 4e691a0a76..0000000000
--- a/keyboards/handwired/xealous/keymaps/default/keymap.c
+++ /dev/null
@@ -1,102 +0,0 @@
-#include QMK_KEYBOARD_H
-
-extern keymap_config_t keymap_config;
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _QWERTY 0
-#define _NUMPAD 1
-#define _FN 2
-
-#define FN MO(_FN)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * ,-----------------------------------------------------------.
- * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
- * |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |
- * |-----------------------------------------------------------|
- * |FN | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift |
- * |-----------------------------------------------------------|
- * |Ctrl|Gui |Alt | NUM | Space | Space |Alt |FN |Menu |Ctrl |
- * `-----------------------------------------------------------'
- */
- /* 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 \
- ),
-
-/*
- * ,-----------------------------------------------------------.
- * | | | | | | | |Nlck| /| *| -| | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | 7| 8| 9| +| | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | 4| 5| 6|Bspc| |Return |
- * |-----------------------------------------------------------|
- * | | | | | | | | 1| 2| 3| .| |
- * |-----------------------------------------------------------|
- * | | | | QWE | | 0 | . |A_ON |A_OFF| |
- * `-----------------------------------------------------------'
- */
-
- /* 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, _______ \
- ),
-
-/*
- * ,-----------------------------------------------------------.
- * | ` |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete|
- * |-----------------------------------------------------------|
- * | Caps|pUp| ^ |pDn| | | |pUp| ^ |pDn|PSR|SLK|Pau| |
- * |-----------------------------------------------------------|
- * | | < | v | > | |Hom|Hom| < | v | > |INS| DEL| |
- * |-----------------------------------------------------------|
- * | | | | | |End|End| |Vo-|Vo+|VoX| |
- * |-----------------------------------------------------------|
- * | | | | | | | | | | |
- * `-----------------------------------------------------------'
- */
-
- /* 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, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
- )
-
-};
-
-#ifdef AUDIO_ENABLE
-float tone_qwerty[][2] = TONE_QWERTY;
-float tone_numpad[][2] = TONE_NUMPAD;
-
-uint32_t default_layer_state_set_kb(uint32_t state) {
- if (state == 1UL<<_QWERTY) {
- PLAY_SONG(tone_qwerty);
- } else if (state == 1UL<<_NUMPAD) {
- PLAY_SONG(tone_numpad);
- }
- return state;
-}
-#endif
-
-void led_set_keymap(uint8_t usb_led) {
-}
diff --git a/keyboards/handwired/xealous/matrix.c b/keyboards/handwired/xealous/matrix.c
deleted file mode 100644
index 27fad00083..0000000000
--- a/keyboards/handwired/xealous/matrix.c
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * scan matrix
- */
-#include <stdint.h>
-#include <stdbool.h>
-#include <avr/io.h>
-#include "wait.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "split_util.h"
-#include "pro_micro.h"
-#include "config.h"
-#include "timer.h"
-#ifdef DEBUG_MATRIX_SCAN_RATE
- #include "matrix_scanrate.h"
-#endif
-
-
-
-#ifdef USE_I2C
-# include "i2c.h"
-#else // USE_SERIAL
-# error "only i2c supported"
-#endif
-
-#ifndef DEBOUNCING_DELAY
-# define DEBOUNCING_DELAY 5
-#endif
-
-
-#if (MATRIX_COLS <= 8)
-# define print_matrix_header() print("\nr/c 01234567\n")
-# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
-# define matrix_bitpop(i) bitpop(matrix[i])
-# define ROW_SHIFTER ((uint8_t)1)
-#else
-# error "Currently only supports 8 COLS"
-#endif
-
-#define ERROR_DISCONNECT_COUNT 5
-
-#define ROWS_PER_HAND (MATRIX_ROWS/2)
-
-static uint8_t error_count = 0;
-
-static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
-static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-static matrix_row_t* debouncing_matrix_hand_offsetted; //pointer to matrix_debouncing for our hand
-static matrix_row_t* matrix_hand_offsetted; // pointer to matrix for our hand
-
-//Debouncing counters
-typedef uint8_t debounce_counter_t;
-#define DEBOUNCE_COUNTER_MODULO 250
-#define DEBOUNCE_COUNTER_INACTIVE 251
-static debounce_counter_t debounce_counters[MATRIX_ROWS * MATRIX_COLS];
-static debounce_counter_t *debounce_counters_hand_offsetted;
-
-
-#if (DIODE_DIRECTION == ROW2COL)
- error "Only Col2Row supported";
-#endif
-static void init_cols(void);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-static void unselect_row(uint8_t row);
-static matrix_row_t optimized_col_reader(void);
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_slave_scan_user(void) {
-}
-
-inline
-uint8_t matrix_rows(void)
-{
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void)
-{
- return MATRIX_COLS;
-}
-
-void matrix_init(void)
-{
-#ifdef DISABLE_JTAG
- // JTAG disable for PORT F. write JTD bit twice within four cycles.
- MCUCR |= (1<<JTD);
- MCUCR |= (1<<JTD);
-#endif
-
- debug_enable = true;
- debug_matrix = false;
- debug_mouse = false;
- // initialize row and col
- unselect_rows();
- init_cols();
-
- TX_RX_LED_INIT;
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
- int my_hand_offset = isLeftHand ? 0 : (ROWS_PER_HAND);
- debouncing_matrix_hand_offsetted = matrix_debouncing + my_hand_offset;
- matrix_hand_offsetted = matrix + my_hand_offset;
- debounce_counters_hand_offsetted = debounce_counters + my_hand_offset;
-
- for (uint8_t i = 0; i < MATRIX_ROWS * MATRIX_COLS; i++) {
- debounce_counters[i] = DEBOUNCE_COUNTER_INACTIVE;
- }
-
- matrix_init_quantum();
-
-}
-
-//#define TIMER_DIFF(a, b, max) ((a) >= (b) ? (a) - (b) : (max) - (b) + (a))
-void update_debounce_counters(uint8_t current_time)
-{
- debounce_counter_t *debounce_pointer = debounce_counters_hand_offsetted;
- for (uint8_t row = 0; row < ROWS_PER_HAND; row++)
- {
- for (uint8_t col = 0; col < MATRIX_COLS; col++)
- {
- if (*debounce_pointer != DEBOUNCE_COUNTER_INACTIVE)
- {
- if (TIMER_DIFF(current_time, *debounce_pointer, DEBOUNCE_COUNTER_MODULO) >=
- DEBOUNCING_DELAY) {
- *debounce_pointer = DEBOUNCE_COUNTER_INACTIVE;
- }
- }
- debounce_pointer++;
- }
- }
-}
-
-void transfer_matrix_values(uint8_t current_time)
-{
- //upload from debounce_matrix to final matrix;
- debounce_counter_t *debounce_pointer = debounce_counters_hand_offsetted;
- for (uint8_t row = 0; row < ROWS_PER_HAND; row++)
- {
- matrix_row_t row_value = matrix_hand_offsetted[row];
- matrix_row_t debounce_value = debouncing_matrix_hand_offsetted[row];
-
- for (uint8_t col = 0; col < MATRIX_COLS; col++)
- {
- bool final_value = debounce_value & (1 << col);
- bool current_value = row_value & (1 << col);
- if (*debounce_pointer == DEBOUNCE_COUNTER_INACTIVE
- && (current_value != final_value))
- {
- *debounce_pointer = current_time;
- row_value ^= (1 << col);
- }
- debounce_pointer++;
- }
- matrix_hand_offsetted[row] = row_value;
- }
-}
-
-uint8_t _matrix_scan(void)
-{
- uint8_t current_time = timer_read() % DEBOUNCE_COUNTER_MODULO;
-
- // Set row, read cols
- for (uint8_t current_row = 0; current_row < ROWS_PER_HAND; current_row++) {
- select_row(current_row);
- asm volatile ("nop"); asm volatile("nop");
-
- debouncing_matrix_hand_offsetted[current_row] = optimized_col_reader();
- // Unselect row
- unselect_row(current_row);
- }
-
- update_debounce_counters(current_time);
- transfer_matrix_values(current_time);
-
- return 1;
-}
-
-
-// Get rows from other half over i2c
-int i2c_transaction(void) {
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
-
- int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE);
- if (err) goto i2c_error;
-
- // start of matrix stored at 0x00
- err = i2c_master_write(I2C_KEYMAP_START);
- if (err) goto i2c_error;
-
- // Start read
- err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ);
- if (err) goto i2c_error;
-
- if (!err) {
- int i;
- for (i = 0; i < ROWS_PER_HAND-1; ++i) {
- matrix[slaveOffset+i] = i2c_master_read(I2C_ACK);
- }
- matrix[slaveOffset+i] = i2c_master_read(I2C_NACK);
- i2c_master_stop();
- } else {
-i2c_error: // the cable is disconnceted, or something else went wrong
- i2c_reset_state();
- return err;
- }
-
- return 0;
-}
-
-uint8_t matrix_scan(void)
-{
-#ifdef DEBUG_MATRIX_SCAN_RATE
- matrix_check_scan_rate();
- matrix_time_between_scans();
-#endif
- uint8_t ret = _matrix_scan();
-
- if( i2c_transaction() ) {
- // turn on the indicator led when halves are disconnected
- TXLED1;
-
- error_count++;
-
- if (error_count > ERROR_DISCONNECT_COUNT) {
- // reset other half if disconnected
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- matrix[slaveOffset+i] = 0;
- }
- }
- } else {
- // turn off the indicator led on no error
- TXLED0;
- error_count = 0;
- }
- matrix_scan_quantum();
- return ret;
-}
-
-void matrix_slave_scan(void) {
- _matrix_scan();
-
- int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
-
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- i2c_slave_buffer[I2C_KEYMAP_START+i] = matrix[offset+i];
- }
-
- matrix_slave_scan_user();
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & ((matrix_row_t)1<<col));
-}
-
-
-inline
-matrix_row_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- print("\nr/c 0123456789ABCDEF\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- phex(row); print(": ");
- pbin_reverse16(matrix_get_row(row));
- print("\n");
- }
-}
-
-uint8_t matrix_key_count(void)
-{
- uint8_t count = 0;
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- count += bitpop16(matrix[i]);
- }
- return count;
-}
-
-static void init_cols(void)
-{
- for(uint8_t x = 0; x < MATRIX_COLS; x++) {
- uint8_t pin = col_pins[x];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- }
-}
-
-inline
-static matrix_row_t optimized_col_reader(void) {
- //MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
- return (PINB & (1 << 6) ? 0 : (ROW_SHIFTER << 0)) |
- (PINB & (1 << 2) ? 0 : (ROW_SHIFTER << 1)) |
- (PINB & (1 << 3) ? 0 : (ROW_SHIFTER << 2)) |
- (PINB & (1 << 1) ? 0 : (ROW_SHIFTER << 3)) |
- (PINF & (1 << 7) ? 0 : (ROW_SHIFTER << 4)) |
- (PINF & (1 << 6) ? 0 : (ROW_SHIFTER << 5)) |
- (PINF & (1 << 5) ? 0 : (ROW_SHIFTER << 6)) |
- (PINF & (1 << 4) ? 0 : (ROW_SHIFTER << 7));
-}
-
-
-static void select_row(uint8_t row)
-{
- uint8_t pin = row_pins[row];
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
-}
-
-static void unselect_row(uint8_t row)
-{
- uint8_t pin = row_pins[row];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
-}
-
-static void unselect_rows(void)
-{
- for(uint8_t x = 0; x < ROWS_PER_HAND; x++) {
- uint8_t pin = row_pins[x];
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- }
-}
-
diff --git a/keyboards/handwired/xealous/matrix_scanrate.c b/keyboards/handwired/xealous/matrix_scanrate.c
deleted file mode 100644
index f2c7cbe6e3..0000000000
--- a/keyboards/handwired/xealous/matrix_scanrate.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdint.h>
-#include <stdbool.h>
-#include <avr/io.h>
-#include "wait.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "timer.h"
-
-#ifdef CONSOLE_ENABLE
-static uint16_t matrix_scan_count = 0;
-static uint32_t matrix_timer = 0;
-void matrix_check_scan_rate(void) {
- matrix_scan_count++;
- if (matrix_scan_count > 1000) {
- uint32_t timer_now = timer_read32();
- uint16_t ms_per_thousand = TIMER_DIFF_32(timer_now, matrix_timer);
- uint16_t rate_per_second = 1000000UL / ms_per_thousand;
- print("scan_rate: ");
- pdec(rate_per_second);
- print("\n");
- matrix_timer = timer_now;
- matrix_scan_count = 0;
- }
-}
-
-static uint32_t last_scan_time = 0;
-void matrix_time_between_scans(void) {
- if (timer_elapsed(last_scan_time) > 1)
- {
- print(">1ms elapsed since last scan: ");
- pdec(timer_elapsed(last_scan_time));
- print("\n");
- }
- last_scan_time = timer_read();
-
-}
-#endif
diff --git a/keyboards/handwired/xealous/matrix_scanrate.h b/keyboards/handwired/xealous/matrix_scanrate.h
deleted file mode 100644
index 18d56cd5b4..0000000000
--- a/keyboards/handwired/xealous/matrix_scanrate.h
+++ /dev/null
@@ -1,4 +0,0 @@
-__attribute__((weak))
-void matrix_check_scan_rate(void) {}
-__attribute__((weak))
-void matrix_time_between_scans(void) {}
diff --git a/keyboards/handwired/xealous/readme.md b/keyboards/handwired/xealous/readme.md
deleted file mode 100644
index 14947cc90c..0000000000
--- a/keyboards/handwired/xealous/readme.md
+++ /dev/null
@@ -1,166 +0,0 @@
-XeaL60
-======
-
-Split keyboard firmware for Arduino Pro Micro or other ATmega32u4
-based boards.
-
-
-## Build Guide
-
-A build guide for putting together the Xealous can be found here: https://github.com/alex-ong/Split60
-
-
-## First Time Setup
-
-Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using:
-
-```
-$ make handwired/xeal60/rev1:default
-```
-
-You will see a lot of output and if everything worked correctly you will see the built hex file:
-
-```
-handwired_xeal60_rev1_default.hex
-```
-
-If you would like to use one of the alternative keymaps, or create your own, copy one of the existing [keymaps](keymaps/) and run make like so:
-
-
-```
-$ make handwired/xeal60/rev1:YOUR_KEYMAP_NAME
-```
-
-If everything worked correctly you will see a file:
-
-```
-handwired_xeal60_rev1_YOUR_KEYMAP_NAME.hex
-```
-
-For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md.
-
-
-Features
---------
-
-For the full Quantum Mechanical Keyboard feature list, see [the parent readme.md](/readme.md).
-
-Some features supported by the firmware:
-
-* Either half can connect to the computer via USB, or both halves can be used
- independently.
-* I2C connection between the two halves if for some
- reason you require a faster connection between the two halves. Note this
- requires an extra wire between halves and pull-up resistors on the data lines.
-
-Required Hardware
------------------
-
-Apart from diodes and key switches for the keyboard matrix in each half, you
-will need:
-
-* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each.
-* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable
-
-Alternatively, you can use any sort of cable and socket that has at least 4
-wires. You will need a cable with at least 4 wires and 2x 4.7kΩ pull-up resistors
-
-Optional Hardware
------------------
-
-A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`.
-
-Wiring
-------
-
-The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e.
-PD0 on the ATmega32u4) between the two Pro Micros.
-
-Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro
-and modify the `matrix.c` accordingly.
-
-The wiring for serial:
-
-![serial wiring](https://i.imgur.com/C3D1GAQ.png)
-
-
-Notes on Software Configuration
--------------------------------
-
-Configuring the firmware is similar to any other QMK project. One thing
-to note is that `MATRIX_ROWS` in `config.h` is the total number of rows between
-the two halves, i.e. if your split keyboard has 5 rows in each half, then use
-`MATRIX_ROWS=10`.
-
-Also, the current implementation assumes a maximum of 8 columns, but it would
-not be very difficult to adapt it to support more if required.
-
-Flashing
--------
-From the top level `qmk_firmware` directory run `make KEYBOARD:KEYMAP:avrdude` for automatic serial port resolution and flashing.
-Example: `make handwired/xeal60/rev1:default:avrdude`
-
-
-Choosing which board to plug the USB cable into (choosing Master)
---------
-Because the two boards are identical, the firmware has logic to differentiate the left and right board.
-
-It uses two strategies to figure things out: looking at the EEPROM (memory on the chip) or looking if the current board has the usb cable.
-
-The EEPROM approach requires additional setup (flashing the eeprom) but allows you to swap the usb cable to either side.
-
-The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra.
-
-### Setting the left hand as master
-If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set.
-
-### Setting the right hand as master
-If you always plug the usb cable into the right board, add an extra flag to your `config.h`
-```
- #define MASTER_RIGHT
-```
-
-### Setting EE_hands to use either hands as master
-If you define `EE_HANDS` in your `config.h`, you will need to set the
-EEPROM for the left and right halves.
-
-The EEPROM is used to store whether the
-half is left handed or right handed. This makes it so that the same firmware
-file will run on both hands instead of having to flash left and right handed
-versions of the firmware to each half. To flash the EEPROM file for the left
-half run:
-```
-avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-lefthand.eep"
-// or the equivalent in dfu-programmer
-
-```
-and similarly for right half
-```
-avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-righthand.eep"
-// or the equivalent in dfu-programmer
-```
-
-NOTE: replace `$(COM_PORT)` with the port of your device (e.g. `/dev/ttyACM0`)
-
-After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash.
-
-Note that you need to program both halves, but you have the option of using
-different keymaps for each half. You could program the left half with a QWERTY
-layout and the right half with a Colemak layout using bootmagic's default layout option.
-Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the
-right half is connected.
-
-
-Notes on Using Pro Micro 3.3V
------------------------------
-
-Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
-the frequency on the 3.3V board.
-
-Also, if the slave board is producing weird characters in certain columns,
-update the following line in `matrix.c` to the following:
-
-```
-// _delay_us(30); // without this wait read unstable value.
-_delay_us(300); // without this wait read unstable value.
-```
diff --git a/keyboards/handwired/xealous/rev1/config.h b/keyboards/handwired/xealous/rev1/config.h
deleted file mode 100644
index f58c8f90b8..0000000000
--- a/keyboards/handwired/xealous/rev1/config.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef REV1_CONFIG_H
-#define REV1_CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x4131
-#define PRODUCT_ID 0x5141
-#define DEVICE_VER 0x0001
-#define MANUFACTURER XeaLouS
-#define PRODUCT XeaL60
-#define DESCRIPTION A split keyboard
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 8
-
-// wiring of each half
-// Ascii art of pro micro. Pin names PD3, PD2, etc.
-//Usage| Name | Label Label| Name | Usage
-// PORT
-// | PD3 TX0 RAW |
-// | PD2 RX1 GND |SerGnd
-// | GND RESET |
-// | GND VCC |SerVCc
-// | PD1 2 A3 PF4 | Col7
-//Ser | PD0 3 A2 PF5 | Col6
-//Row4 | PD4 4 A1 PF6 | Col5
-//AUDIO| PC6 5 A0 PF7 | Col4
-//Row3 | PD7 6 15 PB1 | Col3
-//Row2 | PE6 7 14 PB3 | Col2
-//Row1 | PB4 8 13 PB2 | Col1
-//Row0 | PB5 9 10 PB6 | Col0
-
-// Note reservation of C6 for audio
-#define MATRIX_ROW_PINS { B5, B4, E6, D7, D4 }
-#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-// #define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-#define NO_ACTION_ONESHOT
-#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-#define IGNORE_MOD_TAP_INTERRUPT
-#endif
diff --git a/keyboards/handwired/xealous/rev1/rev1.c b/keyboards/handwired/xealous/rev1/rev1.c
deleted file mode 100644
index 3e51421d85..0000000000
--- a/keyboards/handwired/xealous/rev1/rev1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "quantum.h"
-#include "rev1.h"
-
-void matrix_init_kb(void) {
- matrix_init_user();
-}
diff --git a/keyboards/handwired/xealous/rev1/rev1.h b/keyboards/handwired/xealous/rev1/rev1.h
deleted file mode 100644
index d195af49de..0000000000
--- a/keyboards/handwired/xealous/rev1/rev1.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef REV1_H
-#define REV1_H
-
-//void promicro_bootloader_jmp(bool program);
-#include "quantum.h"
-
-//void promicro_bootloader_jmp(bool program);
-#define XXX KC_NO
-
-#define LAYOUT( \
- 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, R35, R34, R33, R32, R31, R30, \
- L40, L41, L42, L43, L44, R44, R43, R42, R41, R40 \
- ) \
- { \
- { XXX, L06, L05, L04, L03, L02, L01, L00 }, \
- { XXX, XXX, L15, L14, L13, L12, L11, L10 }, \
- { XXX, XXX, L25, L24, L23, L22, L21, L20 }, \
- { XXX, XXX, L35, L34, L33, L32, L31, L30 }, \
- { XXX, XXX, XXX, L44, L43, L42, L41, L40 }, \
- { 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, XXX, XXX, XXX } \
- }
-
-#define LAYOUT_split60 LAYOUT
-
-#endif
diff --git a/keyboards/handwired/xealous/rev1/rules.mk b/keyboards/handwired/xealous/rev1/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/handwired/xealous/rev1/rules.mk
+++ /dev/null
diff --git a/keyboards/handwired/xealous/rules.mk b/keyboards/handwired/xealous/rules.mk
deleted file mode 100644
index 7d07c9aa5f..0000000000
--- a/keyboards/handwired/xealous/rules.mk
+++ /dev/null
@@ -1,75 +0,0 @@
-#SRC += matrix_scanrate.c matrix.c
-SRC += debounce.c
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
-BOOTLOADER = caterina
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # 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
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = yes # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-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
-
-CUSTOM_MATRIX = no
-DEBOUNCE_TYPE = custom
-
-LAYOUTS = split60
-
-DEFAULT_FOLDER = handwired/xealous/rev1
diff --git a/keyboards/handwired/xealousbrown/README.md b/keyboards/handwired/xealousbrown/README.md
deleted file mode 100644
index e6092ebb05..0000000000
--- a/keyboards/handwired/xealousbrown/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# XealouS Brown
-
-My first handwired keyboard. Originally used TMK, now ported in full glory to QMK.
-
-Build log at:
-https://sites.google.com/site/xaelous/keyboards/handwired-keyboard
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/xealous-brown:default
-
diff --git a/keyboards/handwired/xealousbrown/config.h b/keyboards/handwired/xealousbrown/config.h
deleted file mode 100644
index 17aa6c94ee..0000000000
--- a/keyboards/handwired/xealousbrown/config.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x606A
-#define DEVICE_VER 0x0002
-#define MANUFACTURER XeaL
-#define PRODUCT XeaLous Brown Keyboard
-#define DESCRIPTION XeaLous Brown Keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#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 { D3, D2, D1, D0, D4 }
-#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4 }
-#define UNUSED_PINS { }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/xealousbrown/info.json b/keyboards/handwired/xealousbrown/info.json
deleted file mode 100644
index c39e762178..0000000000
--- a/keyboards/handwired/xealousbrown/info.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "keyboard_name": "Xealous-Brown",
- "url": "",
- "maintainer": "qmk",
- "width": 15,
- "height": 5,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"`", "x":0, "y":0},
- {"label":"1", "x":1, "y":0},
- {"label":"2", "x":2, "y":0},
- {"label":"3", "x":3, "y":0},
- {"label":"4", "x":4, "y":0},
- {"label":"5", "x":5, "y":0},
- {"label":"6", "x":6, "y":0},
- {"label":"7", "x":7, "y":0},
- {"label":"8", "x":8, "y":0},
- {"label":"9", "x":9, "y":0},
- {"label":"0", "x":10, "y":0},
- {"label":"-", "x":11, "y":0},
- {"label":"=", "x":12, "y":0},
- {"label":"Backspace", "x":13, "y":0, "w":2},
- {"label":"Tab", "x":0, "y":1, "w":1.5},
- {"label":"Q", "x":1.5, "y":1},
- {"label":"W", "x":2.5, "y":1},
- {"label":"E", "x":3.5, "y":1},
- {"label":"R", "x":4.5, "y":1},
- {"label":"T", "x":5.5, "y":1},
- {"label":"Y", "x":6.5, "y":1},
- {"label":"U", "x":7.5, "y":1},
- {"label":"I", "x":8.5, "y":1},
- {"label":"O", "x":9.5, "y":1},
- {"label":"P", "x":10.5, "y":1},
- {"label":"[", "x":11.5, "y":1},
- {"label":"]", "x":12.5, "y":1},
- {"label":"\\", "x":13.5, "y":1, "w":1.5},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
- {"label":"A", "x":1.75, "y":2},
- {"label":"S", "x":2.75, "y":2},
- {"label":"D", "x":3.75, "y":2},
- {"label":"F", "x":4.75, "y":2},
- {"label":"G", "x":5.75, "y":2},
- {"label":"H", "x":6.75, "y":2},
- {"label":"J", "x":7.75, "y":2},
- {"label":"K", "x":8.75, "y":2},
- {"label":"L", "x":9.75, "y":2},
- {"label":";", "x":10.75, "y":2},
- {"label":"'", "x":11.75, "y":2},
- {"label":"Enter", "x":12.75, "y":2, "w":2.25},
- {"label":"Shift", "x":0, "y":3, "w":2.25},
- {"label":"Z", "x":2.25, "y":3},
- {"label":"X", "x":3.25, "y":3},
- {"label":"C", "x":4.25, "y":3},
- {"label":"V", "x":5.25, "y":3},
- {"label":"B", "x":6.25, "y":3},
- {"label":"N", "x":7.25, "y":3},
- {"label":"M", "x":8.25, "y":3},
- {"label":",", "x":9.25, "y":3},
- {"label":".", "x":10.25, "y":3},
- {"label":"/", "x":11.25, "y":3},
- {"label":"Shift", "x":12.25, "y":3, "w":2.75},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25},
- {"label":"GUI", "x":1.25, "y":4, "w":1.25},
- {"label":"Alt", "x":2.5, "y":4, "w":1.25},
- {"label":"Space", "x":3.75, "y":4, "w":6.25},
- {"label":"Alt", "x":10, "y":4, "w":1.25},
- {"label":"GUI", "x":11.25, "y":4, "w":1.25},
- {"label":"Menu", "x":12.5, "y":4, "w":1.25},
- {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/xealousbrown/keymaps/default/keymap.c b/keyboards/handwired/xealousbrown/keymaps/default/keymap.c
deleted file mode 100644
index 6597c56673..0000000000
--- a/keyboards/handwired/xealousbrown/keymaps/default/keymap.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT( /* Main layer */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,\
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_BSPC \
- ),
- [1] = LAYOUT( /* FN_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_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK,KC_PAUS,\
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, KC_TRNS, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL \
- )
-};
diff --git a/keyboards/handwired/xealousbrown/rules.mk b/keyboards/handwired/xealousbrown/rules.mk
deleted file mode 100644
index 2bad9a1c6e..0000000000
--- a/keyboards/handwired/xealousbrown/rules.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-BOOTLOADER = caterina
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = yes # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-
-
diff --git a/keyboards/handwired/xealousbrown/xealousbrown.c b/keyboards/handwired/xealousbrown/xealousbrown.c
deleted file mode 100644
index 5c8e2fb18a..0000000000
--- a/keyboards/handwired/xealousbrown/xealousbrown.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "xealousbrown.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
diff --git a/keyboards/handwired/xealousbrown/xealousbrown.h b/keyboards/handwired/xealousbrown/xealousbrown.h
deleted file mode 100644
index ff449e4324..0000000000
--- a/keyboards/handwired/xealousbrown/xealousbrown.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef XEALOUSBROWN_H
-#define XEALOUSBROWN_H
-
-#include "quantum.h"
-
-#define LAYOUT( \
- K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
- K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
- K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
- K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
- K40, K41, K42, K45, K46, K47, K48, K49, K4C \
- ) { \
- { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
- { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
- { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
- { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
- { K40, K41, K42, KC_NO, KC_NO, K45, K46, K47, K48, K49, KC_NO, KC_NO, K4C } \
-}
-
-#endif